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

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

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

ï "¿ENTITY_ID;FIELD2;FIELD3,Field4, (и т.д.).
значение1; значение2; значение3; value4;(и т.д.).

Замечания:

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

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

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

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам