我有一个PHP,它通过我的Javascript在POST中接收数据,我想将这些数据写在CSV文件中。我需要用UTF-16LE编码这个文件。
我尝试的是:
1)
$data = $_POST['data'];
$data = iconv("UTF-8","UCS-2LE",$data);
我在记事本++中打开它的结果是没有字节顺序掩码的UCS-2 LE。
2)
$data = $_POST['data'];
$data = mb_convert_encoding($data,"UTF-16LE","UTF-8");
结果与1)相同
如果我在UTF-16LE中用notepad ++手动编码,我得到了完美的结果。
如何让PHP为UTF-16数据添加字节顺序掩码?
答案 0 :(得分:3)
如果您需要BOM,则必须手动添加。对于小端,它是FFFE
。所以
$data = $_POST['data'];
$data = "\xFF\xFE".iconv("UTF-8","UCS-2LE",$data);
应该做的伎俩...
来源:Wikipedia