加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 22:38:08 所属栏目:PHP教程 来源:网络整理
导读:我使用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函数,但无法解决我的问题. 示
我使用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我遇到了这个通知:

Notice: iconv() [function.iconv]: Wrong charset,conversion from UTF-16LE' toUTF-8′ is not allowed in …

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读