php把unicode编码字符转成utf-8格式
2016-02-19 09:43
567 查看
最近在采集的时候,遇到写特殊的编码体整个页面所有的汉字都是unicode的字符如下:
着实让人头疼一把。好在在热心网友的帮助下有效解决了:
第一种:[b]适用()[/b]
下面是一个转化函数:
第二种:[b]适用(、\u)[/b]
在后来的项目开发中无意中发现一个小技巧同样可以实现这一功能:
通过json_decode()这个函数,可以转化成utf-8。只不过前提必须把字符串拼接成json格式的字符串:
返回的是一个:下标未0数组。
注意:拼接json字符串的时候必须使用双引号;中括号是[value];花括号是{key:value};
第三种:适用(、\u)
第三种方式云里雾里至今也看不懂。。。。欢迎指导。。。。
本期费用合计: //本期费用合计:
\u54c8\u55bd //哈喽
着实让人头疼一把。好在在热心网友的帮助下有效解决了:
第一种:[b]适用()[/b]
下面是一个转化函数:
//将uicode 转化成 utf-8 public function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|.{4};|\d+;|.+/U",$str,$r); $ar = $r[0]; //print_r($ar); foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u"){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,-4))); } elseif(substr($v,0,3) == ""){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,3,-1))); } elseif(substr($v,0,2) == "") { $ar[$k] = iconv("UCS-2BE","UTF-8",pack("n",substr($v,2,-1))); } } return join("",$ar); }
第二种:[b]适用(、\u)[/b]
在后来的项目开发中无意中发现一个小技巧同样可以实现这一功能:
通过json_decode()这个函数,可以转化成utf-8。只不过前提必须把字符串拼接成json格式的字符串:
json_decode('["本期费用合计:"]',true);
返回的是一个:下标未0数组。
注意:拼接json字符串的时候必须使用双引号;中括号是[value];花括号是{key:value};
第三种:适用(、\u)
preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", '本期费用合计:');
第三种方式云里雾里至今也看不懂。。。。欢迎指导。。。。
相关文章推荐
- PHP函数篇之( mysql_real_escape_string 与 addslashes )的区别
- php 7.0 特性
- 设置php的环境变量 php: command not found
- php调用webservice
- 初学PHP分号和逗号的一些经验
- ViewPager+Fragment+FragmentPagerAdapter,设置自定义刷新
- php读MySQL
- php基本语法
- PHP下使用强大的imagick轻松生成组合缩略图
- 对比分析php中Cookie与Session的异同
- PHP利用imagick生成组合缩略图
- PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
- php采集神器cURL使用方法详解
- 2.9 php扩展模块如何安装
- php学习_第一天
- Matplotlib 饼状图中的文字中文乱码问题
- 字符流和字节流转换桥梁,InputStreamReader,OutputStreamWriter
- yii过滤xss代码
- php 嵌套层数修改
- ubuntu下Laravel安装