unicode解码php,PHP解码unicode编码的中文字符
问题背景:
晚上在抓取某网站数据,结果在数据包中发现了这么一串编码的数据:"......\u65b0\u6d6a\u5fae\u535a......
如何解码unicode编码的字符?【好使】 - PHP网站开发 - 【开源与分享】每日最新博客在置顶博客之后
解决方案:
呵呵,老外就是给力啊, 猛戳这里看老外给的解决方案
方案A(稳定版+推荐):
function replace_unicode_escape_sequence($match) {
return mb_convert_encoding(pack(‘H*‘, $match[1]), ‘UTF-8‘, ‘UCS-2BE‘);
}
$name = ‘\u65b0\u6d6a\u5fae\u535a‘;
$str = preg_replace_callback(‘/\\\\u([0-9a-f]{4})/i‘, ‘replace_unicode_escape_sequence‘, $name);
echo $str; //输出: 新浪微博
//咱将上述方案A给封装起来~~~(方案A稳定版+升级+推荐)
class Helper_Tool
{
static function unicodeDecode($data)
{
function replace_unicode_escape_sequence($match) {
return mb_convert_encoding(pack(‘H*‘, $match[1]), ‘UTF-8‘, ‘UCS-2BE‘);
}
$rs = preg_replace_callback(‘/\\\\u([0-9a-f]{4})/i‘, ‘replace_unicode_escape_sequence‘, $data);
return $rs;
}
}
//调用
$name = ‘\u65b0\u6d6a\u5fae\u535a‘;
$data = Helper_Tool::unicodeDecode($name); //输出新浪微博
方案B(次推荐):
function unicodeDecode($name){
$json = ‘{"str":"‘.$name.‘"}‘;
$arr = json_decode($json,true);
if(empty($arr)) return ‘‘;
return $arr[‘str‘];
}
$name = ‘\u65b0\u6d6a\u5fae\u535a‘;
echo unicodeDecode($name); //输出: 新浪微博
对于方案B, 我要特别重点说明下注意事项, 在好友 XAR (猛戳XAR博客) 的技术支持下,总结出要处理的字符串(即传递给函数unicodeDecode的参数$name的内容中一定不能包含单引号,否则就会导致解析失败, 所以有必要的话可以借助 str_replace()函数将非法字符格式化为合格字符)
原文:http://www.cnblogs.com/jyb2014/p/3907774.html
unicode解码php,PHP解码unicode编码的中文字符相关推荐
- tinyxml 读取文本节点_在Windows下使用TinyXML-2读取UTF-8编码包含中文字符的XML文件...
TinyXML-2 是一个用 C++ 开发的小巧.高效的 XML 解析工具,它在 GitHub 网站上的链接为: https://github.com/leethomason/tinyxml2 .它的 ...
- java 中文解码_java使用URLDecoder和URLEncoder对中文字符进行编码和解码
摘要: URLDecoder 和 URLEncoder 用于完成普通字符串 和 application/x-www-form-urlencoded MIME 字符串之间的相互转换.在本文中,我们以使用 ...
- 使用unicode编码识别中文字符、字母和数字,包括生僻汉字
查询网络上如何识别中文字符的帖子,发现大部分只判断了常用汉字,即Unicode范围为0x4E00 ~ 0x9FA5. unicode编码最新版本是2009年9月出版的5.2版,对汉字又进行了扩充.以往 ...
- js url解码gbk_decodeURI解码,由URIEncoder.encode(,GBK)编码的中文,问题解决
一.js内置编码,解码函数的介绍: @.JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数: une ...
- [macOS]_[打开GBK-ANSI编码的中文字符文件乱码解决办法]
场景 在中文Windows系统里使用VS开发时,它默认保存的.h,.cpp格式就是ANSI(GBK)编码, 这时如果我们做模块移植到macOS时,用TextEdit或者Xcode打开这个源码文件,如果 ...
- php u6d4b,PHP解码unicode编码的中文字符代码分享
晚上在抓取某网站数据,结果在数据包中发现了这么一串编码的数据:"--/u65b0/u6d6a/u5fae/u535a--", 这其实是中文被unicode编码后了的数据,我现在就是 ...
- php输出字符unicode码,PHP解码unicode编码的中文字符代码分享
问题背景: 晚上在抓取某网站数据,结果在数据包中发现了这么一串编码的数据:"......\u65b0\u6d6a\u5fae\u535a......", 这其实是中文被unicod ...
- 修改oracle客户端的编码,Oracle中文字符乱码?设置Oracle客户端字符编码与服务端一致...
经常可能出现查询Oracle数据时,中文显示乱码,这很可能是因为,Oracle服务端的字符编码与客户端不一致引起的. 这时,我们需要做的是,如何设置自己的客户端字符编码与服务端一致. 查询Oracle ...
- 编码:中文字符转ASCII码
各位知道,一个中文字符站两个字符宽度,有的时候输出ascii时会有中文乱码,所以我就把ASCII搭配可能出现的字符遍历了出来,比如"我"是206+210:如此输出:printf(& ...
最新文章
- 训练时间和参数量百倍降低,直接使用标签进行预测,性能竟超GNN
- 黄金矿工-收益最大化
- (简要介绍)Winograd schema challenge(Winograd question)
- linux 公私钥生成,[c++,openssl,RSA] linux下编程实现生成公私钥对_1
- pyhton 反转单词顺序
- 讲讲python使用xpath中遇到[Element a at 0x39a9a80到底是什么
- JavaWeb从开发环境搭建,到第一个servlet程序(图文)
- python获取绝对路径的区别_python 获取路径不同方法的比较
- 【J2SE】java实现简单照片查看器
- AI机器视觉技术在生活中的应用
- 移动开发:怎么去掉点击时出现背景蓝色
- 2012版辅助开发工具包(ADT)新功能特性介绍及安装使用
- 间接访问百度浏览器c语言程序,百度浏览器支持“.网址”域名访问 让中文上网更便捷...
- 全志D1-H 双屏异显第一弹来啦 D1同时支持两个屏幕,一边做UI交互,一边播放视频
- Seata遇到的问题
- java double 占位符_Java输出格式化之占位符
- 80后的互联网北漂:你的未来在哪?
- 三.基础部分+asp网站搭建
- 页面不调转改变浏览器地址栏的方法
- zstuoj (浙理工) 孙壕请一盘青岛大虾呗
热门文章
- IE浏览器怎么清理缓存
- Edge浏览器怎么打开开发者模式
- 谷歌Chrome 81浏览器更新:新增微软Chromium版Edge现代Web控件
- win7电脑假死机怎么办
- SpringBoot的编码问题
- Java Collections.emptyList() 方法的使用及注意事项
- 浅谈对称加密与非对称加密
- matlab人民币识别,MATLAB-OCR 用MATLAB实现人民币纸币金额的识别与统计 - 下载 - 搜珍网...
- java createstatement,createStatement参数说明
- beetl 页面标签_05.Beetl标签函数以及定界符、占位符介绍---《Beetl视频课程》