iconv UTF-16LEエンコーディングをサポートします。
これを使用して、エンコーディングをからに転置できUTF-16LEますUTF-8。
$result = iconv($in_charset = 'UTF-16LE' , $out_charset = 'UTF-8' , $str);
if (false === $result)
{
throw new Exception('Input string could not be converted.');
}
iconvドキュメントを参照してください。
で利用可能なすべてのコードポイントがで利用できるかどうか疑問に思っていUTF-16LEますUTF-8。しかし、私はこれがあなたの場合に合うはずだと思います。
編集:私は自分の箱で問題を再現することができませんでしたが、別の箱でこの通知に遭遇しました:
注意:iconv()[function.iconv]:間違った文字セット、UTF-16LE' toUTF-8'からの変換は許可されていません...
すべてのiconvバージョンが実際にに変換できるわけではないようUTF-16LEですUTF-8。
mb_convert_encoding代わりにドキュメントを使用することは回避策かもしれませんが、少なくともこの場合は(デモ):
$result = mb_convert_encoding($str , 'UTF-8' , 'UTF-16LE');