问题背景:

晚上在抓取某网站数据,结果在数据包中发现了这么一串编码的数据:"......\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编码的中文字符相关推荐

  1. tinyxml 读取文本节点_在Windows下使用TinyXML-2读取UTF-8编码包含中文字符的XML文件...

    TinyXML-2 是一个用 C++ 开发的小巧.高效的 XML 解析工具,它在 GitHub 网站上的链接为: https://github.com/leethomason/tinyxml2 .它的 ...

  2. java 中文解码_java使用URLDecoder和URLEncoder对中文字符进行编码和解码

    摘要: URLDecoder 和 URLEncoder 用于完成普通字符串 和 application/x-www-form-urlencoded MIME 字符串之间的相互转换.在本文中,我们以使用 ...

  3. 使用unicode编码识别中文字符、字母和数字,包括生僻汉字

    查询网络上如何识别中文字符的帖子,发现大部分只判断了常用汉字,即Unicode范围为0x4E00 ~ 0x9FA5. unicode编码最新版本是2009年9月出版的5.2版,对汉字又进行了扩充.以往 ...

  4. js url解码gbk_decodeURI解码,由URIEncoder.encode(,GBK)编码的中文,问题解决

    一.js内置编码,解码函数的介绍: @.JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数: une ...

  5. [macOS]_[打开GBK-ANSI编码的中文字符文件乱码解决办法]

    场景 在中文Windows系统里使用VS开发时,它默认保存的.h,.cpp格式就是ANSI(GBK)编码, 这时如果我们做模块移植到macOS时,用TextEdit或者Xcode打开这个源码文件,如果 ...

  6. php u6d4b,PHP解码unicode编码的中文字符代码分享

    晚上在抓取某网站数据,结果在数据包中发现了这么一串编码的数据:"--/u65b0/u6d6a/u5fae/u535a--", 这其实是中文被unicode编码后了的数据,我现在就是 ...

  7. php输出字符unicode码,PHP解码unicode编码的中文字符代码分享

    问题背景: 晚上在抓取某网站数据,结果在数据包中发现了这么一串编码的数据:"......\u65b0\u6d6a\u5fae\u535a......", 这其实是中文被unicod ...

  8. 修改oracle客户端的编码,Oracle中文字符乱码?设置Oracle客户端字符编码与服务端一致...

    经常可能出现查询Oracle数据时,中文显示乱码,这很可能是因为,Oracle服务端的字符编码与客户端不一致引起的. 这时,我们需要做的是,如何设置自己的客户端字符编码与服务端一致. 查询Oracle ...

  9. 编码:中文字符转ASCII码

    各位知道,一个中文字符站两个字符宽度,有的时候输出ascii时会有中文乱码,所以我就把ASCII搭配可能出现的字符遍历了出来,比如"我"是206+210:如此输出:printf(& ...

最新文章

  1. 训练时间和参数量百倍降低,直接使用标签进行预测,性能竟超GNN
  2. 黄金矿工-收益最大化
  3. (简要介绍)Winograd schema challenge(Winograd question)
  4. linux 公私钥生成,[c++,openssl,RSA] linux下编程实现生成公私钥对_1
  5. pyhton 反转单词顺序
  6. 讲讲python使用xpath中遇到[Element a at 0x39a9a80到底是什么
  7. JavaWeb从开发环境搭建,到第一个servlet程序(图文)
  8. python获取绝对路径的区别_python 获取路径不同方法的比较
  9. 【J2SE】java实现简单照片查看器
  10. AI机器视觉技术在生活中的应用
  11. 移动开发:怎么去掉点击时出现背景蓝色
  12. 2012版辅助开发工具包(ADT)新功能特性介绍及安装使用
  13. 间接访问百度浏览器c语言程序,百度浏览器支持“.网址”域名访问 让中文上网更便捷...
  14. 全志D1-H 双屏异显第一弹来啦 D1同时支持两个屏幕,一边做UI交互,一边播放视频
  15. Seata遇到的问题
  16. java double 占位符_Java输出格式化之占位符
  17. 80后的互联网北漂:你的未来在哪?
  18. 三.基础部分+asp网站搭建
  19. 页面不调转改变浏览器地址栏的方法
  20. zstuoj (浙理工) 孙壕请一盘青岛大虾呗

热门文章

  1. IE浏览器怎么清理缓存
  2. Edge浏览器怎么打开开发者模式
  3. 谷歌Chrome 81浏览器更新:新增微软Chromium版Edge现代Web控件
  4. win7电脑假死机怎么办
  5. SpringBoot的编码问题
  6. Java Collections.emptyList() 方法的使用及注意事项
  7. 浅谈对称加密与非对称加密
  8. matlab人民币识别,MATLAB-OCR 用MATLAB实现人民币纸币金额的识别与统计 - 下载 - 搜珍网...
  9. java createstatement,createStatement参数说明
  10. beetl 页面标签_05.Beetl标签函数以及定界符、占位符介绍---《Beetl视频课程》