在php中将UTF-16LE转换为UTF-8

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在php中将UTF-16LE转换为UTF-8脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用iconv PHP函数,但有些字符无法正确转换:
...
$s = iconv('UTF-16','UTF-8',$s);
...
$s = iconv('UTF-16//IGNORE',$s);
...
$s = iconv('UTF-16LE',$s);
...
$s = iconv('UTF-16LE//IGNORE',$s);
...

我也尝试mb_convert_encoding函数,但无法解决我的问题.

示例文本文件:9px.ir/utf8-16LE.rar

iconv supports the UTF-16LE encoding.

您可以使用它将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.');
}

iconvDocs.

我只是想知道UTF-16LE中可用的所有代码是否UTF-8中可用.但我认为这应该适合您的情况.

编辑:我无法在自己的盒子上重现问题,但在another box我遇到了这个通知

看起来并非所有iconv版本都能将UTF-16LE转换为UTF-8.

这可能是使用mb_convert_encodingDocs的变通方法,至少在这种情况下(Demo):

$result = mb_convert_encoding($str,'UTF-16LE');

脚本宝典总结

以上是脚本宝典为你收集整理的在php中将UTF-16LE转换为UTF-8全部内容,希望文章能够帮你解决在php中将UTF-16LE转换为UTF-8所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。