0

我有一个 PHP,它通过我的 Javascript 在 POST 中接收数据,我想将这些数据写入 CSV 文件。我需要用 UTF-16LE 编码这个文件。

我尝试的是:

1)

$data = $_POST['data'];
$data = iconv("UTF-8","UCS-2LE",$data);

当我在 notepad++ 中打开它时,结果是没有字节顺序掩码的 UCS-2 LE。

2)

$data = $_POST['data'];
$data = mb_convert_encoding($data,"UTF-16LE","UTF-8");

结果与 1) 相同

如果我使用记事本++在UTF-16LE中手动编码,我得到了完美的结果。

如何让 PHP 向 UTF-16 数据添加字节顺序掩码?

4

1 回答 1

3

如果你想要一个 BOM,你必须手动添加它。对于小端,它是FFFE. 所以

$data = $_POST['data'];
$data = "\xFF\xFE".iconv("UTF-8","UCS-2LE",$data);

应该做的伎俩...

资料来源:维基百科

于 2014-05-24T19:06:56.543 回答