Что вызывает 3 специальных символа после преобразования в UTF-8?

1793
Torben Gundtofte-Bruun

Один из наших рабочих шагов включает сохранение листа MS Excel в формате CSV, а затем использование UltraEdit для преобразования CSV в UTF-8 перед его импортом в серверную систему.

Проблема в том, что после преобразования в UTF-8 файл всегда содержит 3 бессмысленных символа в начале файла:

• ENTITY_ID; FIELD2; FIELD3, FIELD4; (и т. д.)
значение1; значение2; значение3; значение4; (и т. д.).

Замечания:

  • Как видите, есть 3 символа, которые являются шумом и заставляют сервер отклонять импорт CSV, поскольку первый столбец не называется «ENTITY_ID». Персонажи всегда одинаковы.

  • Эти символы не отображаются после преобразования, но когда мы снова закрываем и снова открываем файл в UltraEdit, мы видим символы.

  • Эти символы видны только в UltraEdit. Windows Notepad или Notepad ++ их не показывает.

  • Использование Notepad ++ для преобразования CSV в UTF-8 дает точно такой же вывод: файл с теми же 3 нечетными символами в начале. Единственное отличие состоит в том, что Notepad ++ не отображает эти символы даже после закрытия и повторного открытия файла.

Обходной путь:
мы повторно открываем файл в UltraEdit, удаляем шум, а затем сервер принимает импорт CSV.
Этот шаг должен быть устранен путем устранения актуальной проблемы.

Вопрос: Как мы можем избежать этих 3 символов?

7

1 ответ на вопрос

8
Ignacio Vazquez-Abrams

Это метка порядка байтов, закодированная как UTF-8. Скажите вашему редактору, чтобы он не добавлялся в начале, или используйте настоящий декодер в вашей серверной системе.

Спасибо! Это вызвало [другой вопрос] (http://superuser.com/questions/379791/how-to-make-ultraedit-save-in-utf-8-without-bom), конечно :-) Torben Gundtofte-Bruun 12 лет назад 0

Похожие вопросы