Я читаю условия поиска из простого текстового файла для отправки в поисковую систему. Он отлично работает на английском языке, но выдает мне ???? для любого японского текста. Текст со смешанным английским и японским языком действительно показывает английский текст, поэтому я знаю, что он его читает.
Что я вижу:
- Входной текст: Snow Leopard をインストールする場合、新しい
- Превращается в: Снежный барс ???????????????
Это в моем поле POST HTTP. Если я настрою JMeter для кодирования данных, он просто поставит процентную последовательность для вопросительных знаков.
О данных:
- Файл CSV очень прост по структуре.
- Есть только одно поле/один столбец, который я называю TERM, а позже использую как ${TERM}
- Мне действительно не нужен полный CSV, потому что это только одна строка в строке.
- Здесь нет запятых и кавычек.
- Это UTF-8, и когда я запускаю команду Unix «файл» для файла, он говорит текст UTF-8.
- Я также проверил UTF-8 в командной строке и графическом режиме на двух машинах.
Интересное примечание: интересное совпадение, которое я заметил: если есть 15 японских символов, то я получаю 15 вопросительных знаков, поэтому в какой-то момент это рассматривается как полные символы, а не просто байты.
Конфигурация набора данных JMeter CSV:
- Имя файла: japanese-search.csv
- Кодировка файла: UTF-8 (пробовал и без)
- Имена переменных: ТЕРМИН
- Разделитель: ,
- Разрешить данные в кавычках: False (я также пробовал True, по-другому, но все равно неправильно)
- Переработка в EOF: правда
- Остановиться на EOF: False
- Режим просмотра: все темы
Несколько вещей, которые я пробовал: - Пробовал Разрешить цитируемые данные. Он изменился на другие странные символы. - Добавлено -Dfile.encoding=UTF-8 - Пробовал кодировать этап POST, но он просто превратился в кучу %nn для вопросительных знаков
И я не уверен, как «отладить» сразу после того, как каждая строка CSV будет прочитана. Я думаю, что он сразу поврежден, но я не уверен.
Если он искажен только тогда, когда я на него ссылаюсь, то вместо ${TERM}, возможно, есть какой-то другой вызов функции "в байты". Я начну проверять это. Я еще ничего не делал с функциями JMeter.
Отредактировано 24 декабря:
Настройки:
- Изменено форматирование и добавлены маркеры для большей ясности.
- Уточнил, что файл в кодировке UTF-8, и проверил это.
Новая теория:
- Возможно ли, что японские иероглифы доходят до конца, и проблема в том, что КАЖДОЕ ЕДИНСТВЕННОЕ место, где они показаны, сопоставляет их со знаком «?» только во ВРЕМЯ ОТОБРАЖЕНИЯ. Итак, хотя я проверил кучу мест, у всех у них проблема с отображением только в пользовательском интерфейсе?
- Есть ли способ в JMeter увидеть числовое значение символа или строки? На самом деле, чтобы указать JMeter отображать список кодовых точек Unicode?
- Я посмотрю свои последние файлы журналов... хотя я полагаю, что даже журналы сервера могут неправильно отображать символы.
- Кроме того, возможно, при расширении переменной внутри текстового поля, которое я отправляю, где я ссылаюсь на ${TERM}, возможно, в этой точке она также отображается в вопросительные знаки, но в этом случае происходит повреждение более поздняя точка. Если это произошло И это было неправильно отображено в пользовательском интерфейсе, это может привести к ложному заключению.
- Что я действительно хотел бы сделать, так это приостановить JMeter после первой записи CSV, сразу после загрузки этой строки, и посмотреть на нее с помощью «области данных» или редактора байтов или чего-то еще. Не уверен, что это возможно.