将UCS-2LE BOM编码转换为UTF而不会丢失信息PHP

时间:2016-10-27 11:22:25

标签: php encoding utf-8

我有一个用UCS-2LE BOM编码的.csv文件。我需要对它进行一些更改,我想使用preg_replace,所以我想将文件转换为UTF-8。但是,当我转换它时,所有空格都会消失,并且属于同一条线的所有单词都会粘在一起。

我的代码是:

$content = file_get_contents( "myFile.csv" );
$content = mb_convert_encoding( $content, 'UCS-2LE', 'UTF-8');

进行转换的正确方法是什么,这样我就不会丢失任何空格或字符?

转换前 - 在Excel中截图:

enter image description here

转换文件后:

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该将第二行更改为:

$content = mb_convert_encoding($content, 'UTF-8', 'UCS-2LE');

第二个参数是TO ENCODING,第三个是FROM ENCODING。