кодировка — конвертировать CP-850 в UTF-8

Как мне конвертировать CP-850 в UTF-8 с помощью PHP?

Что я нашел и попробовал

Суть — pedrosancao / CharsetConversion.php

Это кажется хорошим решением, но так как я работаю с большим количеством текста, чтобы изменить кодировку, это слишком медленно. Я запустил один процесс за 40 минут, изменив кодировку 1,5 мегабайта данных.

dos2unix

Я старался dos2unix -c iso -850 data.csv, который конвертирует CP-850 в ASCII, но это не сработало.

0

Решение

Вы пробовали использовать iconv?
$ str = iconv («CP850», «UTF-8», $ str);

Опционально с транслитерацией (// TRANSLIT добавляется ко второму параметру).

Вторым предложением было бы использовать recode_file или recode_string; http://php.net/manual/en/ref.recode.php

0

Другие решения

Используйте iconv:

iconv -f CP80 -t UTF-8 data.csv > data-utf8.csv

Если вам нужно также преобразовать разрывы строк, вы делаете:

iconv -f CP80 -t UTF-8 data.csv | dos2unix > data-utf8.csv

dos2unix -c iso -850 data.csv преобразует файл в ISO-8859-1 (латиница 1) в Windows, известной как CP1252.

0

Я в конечном итоге с помощью utf8_encode, должен был попробовать это немного раньше.

-1