Microsoft Excel искажает диакритические знаки в файлах .csv? - PullRequest
180 голосов
/ 01 октября 2008

Я программно экспортирую данные (используя PHP 5.2) в файл теста .csv.
Пример данных: Numéro 1 (обратите внимание на ударение на е). Данные utf-8 (без предварительной спецификации).

При открытии этого файла в MS Excel отображается как Numéro 1.

Я могу открыть это в текстовом редакторе (UltraEdit), который отображает его правильно. UE сообщает, что символ decimal 233.

Как я могу экспортировать текстовые данные в файл .csv, чтобы мог MS Excel правильно отобразить , предпочтительно без принудительного использования мастера импорта или мастера не по умолчанию настройки?

Ответы [ 22 ]

0 голосов
/ 05 ноября 2009

Excel 2007 правильно читает UTF-8 с кодировкой BOM (EF BB BF) в формате csv.

Excel 2003 (а может и раньше) читает UTF-16LE с спецификацией (FF FE), но с табуляцией вместо запятых или точек с запятой.

0 голосов
/ 01 октября 2008

Проверьте кодировку, в которой вы генерируете файл, чтобы Excel правильно отображал файл, вы должны использовать системную кодовую страницу по умолчанию.

Какой язык вы используете? если это .Net, вам нужно только использовать Encoding.Default при создании файла.

...