Конвертировать CSV Windows-1252 в UTF-8 с помощью PHP - PullRequest
2 голосов
/ 29 июля 2010

Я использую fopen для чтения в csv и fgetcsv для чтения строк csv.CSV кодируется как Windows-1252, как мне преобразовать его в UTF-8, чтобы он не обрезал строки без стандартных символов?

Пока я пробовал следующее:

setlocale(LC_ALL, 'en_GB.UTF-8');

и

drupal_convert_to_utf8($csv_line[3], 'Windows-1251'); // (I'm using Drupal 6.16)

Кажется, что оба сбоя.

Ответы [ 2 ]

5 голосов
/ 29 июля 2010

вы можете использовать iconv для такого рода работы.

3 голосов
/ 29 июля 2010

Я не знаю функцию drupal_convert_to_utf8, но взгляну на mb_convert_encoding.

Попробуйте использовать mb_list_encodings, чтобы убедиться, что ваша реализация поддерживает Windows-1252.Если вы не попробуете использовать ISO 8859-1, это в основном то же самое (http://en.wikipedia.org/wiki/Windows-1252).

Вы также должны убедиться, что ваш CSV на самом деле в Windows-1252.Попробуйте использовать mb_detect_encoding для этого и используйте флаг строгого режима.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...