0

Javascript によって POST でデータを受信する PHP を取得しました。これらのデータを 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で手動でエンコードすると、完璧な結果が得られました。

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 に答える