Что вызывает 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. Скажите вашему редактору, чтобы он не добавлялся в начале, или используйте настоящий декодер в вашей серверной системе.