PHP - 将 CP-850 转换为 UTF-8
PHP - Convert CP-850 to UTF-8
如何使用 PHP 将 CP-850 转换为 UTF-8?
我发现并尝试过的
Gist - pedrosancao/CharsetConversion.php
这似乎是一个很好的解决方案,但由于我要处理大量文本来更改其编码,所以这太慢了。我得到一个进程 运行 40 分钟,更改 1.5 兆数据的编码。
我尝试了 dos2unix -c iso -850 data.csv
,它将 CP-850 转换为 ASCII,但这并没有成功。
您尝试过使用 iconv 吗?
$str = iconv("CP850","UTF-8",$str);
可选择使用音译(//TRANSLIT 附加到第二个参数)。
第二个建议是使用 recode_file 或 recode_string; http://php.net/manual/en/ref.recode.php
使用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。
我最终使用了 utf8_encode
,应该早点尝试一下。
如何使用 PHP 将 CP-850 转换为 UTF-8?
我发现并尝试过的
Gist - pedrosancao/CharsetConversion.php
这似乎是一个很好的解决方案,但由于我要处理大量文本来更改其编码,所以这太慢了。我得到一个进程 运行 40 分钟,更改 1.5 兆数据的编码。
我尝试了 dos2unix -c iso -850 data.csv
,它将 CP-850 转换为 ASCII,但这并没有成功。
您尝试过使用 iconv 吗? $str = iconv("CP850","UTF-8",$str);
可选择使用音译(//TRANSLIT 附加到第二个参数)。
第二个建议是使用 recode_file 或 recode_string; http://php.net/manual/en/ref.recode.php
使用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。
我最终使用了 utf8_encode
,应该早点尝试一下。