首页 > PHP与电话平台 > php实现usc2转ansi的代码

201703月19

php实现usc2转ansi的代码

作者:admin 2 Comments 发表评论

用PHP写一个网络电话平台,点击呼叫以后,返回的信息是这样的:

\u8bf7\u8f93\u5165\u6b63\u786e\u768411\u4f4d\u624b\u673a\u53f7

通过工具可以知道,这个如果usc2转ansi后,就显示了中文:预约成功稍后请接听未知来电。但是不知道怎么用PHP实现,因为我要在网页上显示。此文待补充,会补充解决办法:

function unicode_decode($name)
{
// 转换编码,将Unicode编码转换成可以浏览的utf-8编码
$pattern = ‘/([\w]+)|(\\\u([\w]{4}))/i’;
preg_match_all($pattern, $name, $matches);
if (!empty($matches))
{
$name = ”;
for ($j = 0; $j < count($matches[0]); $j++)
{
$str = $matches[0][$j];
if (strpos($str, ‘\\u’) === 0)
{
$code = base_convert(substr($str, 2, 2), 16, 10);
$code2 = base_convert(substr($str, 4), 16, 10);
$c = chr($code).chr($code2);
$c = iconv(‘UCS-2’, ‘UTF-8’, $c);
$name .= $c;
}
else
{
$name .= $str;
}
}
}
return $name;
}

上面是补充内容,可以正确解码为中文,通过测试,有的服务器显示不正常,但应该大部分都没问题。上面这个函数的内容是百度上抓的一段代码,测试确实可以解码成功。也感谢PHP群里的网友的热情解答,他们测试了正常才告诉我的,不然我不知道怎么回事。

推荐阅读相关文章:PHP与电话平台

本文地址:http://www.mianfeidianhua.net/php-usc2-ansi.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

2 Responses to “php实现usc2转ansi的代码”

  1. #1 岁月无痕 回复 | 引用 Post:2017-03-19 23:13

    我知道怎么转成中文。

    • #2 admin 回复 | 引用 Post:2017-03-20 08:34

      怎么转的,直接贴代码呗。要用PHP实现才行的。

发表评论