最近遇上了一件怪事,前两天写的好好的代码,今天再运行就乱码了。查了一下,不是一般意义的乱码,而是返回的unicode编码的字符。

如汉字:登录失败,经过json_encode之后返回变成:"\u767b\u5f55\u5931\u8d25"

实在气死杂家,找了一通,发现这是个普遍问题,最终解决方法如下:

正常调用json_encode($arr),在echo之间,将这个json数据通过以下函数处理下:

public static function JSON($str){

$json = json_encode($str);

return preg_replace("#\\\u([0-9a-f]+)#ie","iconv('UCS-2','UTF-8', pack('H4', '\\1'))",$json);

}

这样就再也不乱码了。对于高版本php,可以直接加个参数,但对低版本无效,所以只能这样。完整代码如下:

调用示例:

// echo "登录失败";$arr = array ();$arr ['code'] = - 1;$arr ['message'] = "登录失败";echo $arr ['message'];$arr ['data'] = "";return util::JSON ( $arr );

参考: http://stackoverflow.com/questions/6771938/any-way-to-return-php-json-encode-with-encode-utf-8-and-not-unicode 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

php json_encode unicode,phpjson_encode总是返回unicode字符u.问题解决相关推荐

  1. python返回unicode_Python 中通过 unicode 码返回单字符的函数是 ,返回单字符 unicode 码的函数是 。_学小易找答案...

    [单选题]哪一个命令能用来查找在文件TESTFILE中只包含四个字符的行?( ) [单选题]修改以太网卡mac地址的命令为( ). [单选题]Python 字符串支持切片操作,如有字符串 s &quo ...

  2. ECMAScript 6(5)字符串与Unicode编码大于65535的字符

    字符串的扩展 前注:不关心细节的人,可以看[一句话总结]部分: 字符串的Unicode表示法 解释: 1. 首先,任意一个字符(比如数字.英文字符.汉字.符号等)都可以用Unicode的表示方法来表示 ...

  3. python无法打印unicode编码_【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码...

    [背景] Python中的字符编码,其实的确有点复杂. 再加上,不同的开发环境和工具中,显示的逻辑和效果又不太相同,尤其是,中文的,初级用户,最常遇到的: (1)在Python自带的IDE:IDLE中 ...

  4. UNICODE与多字节字符集等字符问题

    VS2008默认的字符集是Unicode,而VC6.0默认是多字节字符集,Unicode字符集你要加_T("")或L"",你也可以" 工程-属性-修改 ...

  5. ASCII、Unicode、GBK和UTF-8字符编码的区别联系(转载)

    ASCII.Unicode.GBK和UTF-8字符编码的区别联系 转载自:http://dengo.org/archives/901 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同 ...

  6. 计算机网络-字符编码的由来(为什么会有乱码,ASCII、Unicode、GBK和UTF-8字符编码区别)

    为什么我们在网络中传输数据,需要指定字符编码,例如使用UTF-8.GBK等编码.那么字符编码到底是什么?以前我也很困惑这个问题,但是学习了计算机网络后我们知道,由于底层电路的设计本质,只能是识别0和1 ...

  7. java实现Unicode编码和可读字符互转

    实现Unicode编码与可读字符的转换. 今天遇到的错误提示,提示全是Unicode编码,写了一段代码将错误提示转为可读. 测试结果如下: package com.demo;import java.i ...

  8. java是几位的unicode,下列说法错误的是()。A.Java的字符类型采用的是Unicode编码,每个Unicode码占16位比特B.Java的各种...

    下列说法错误的是().A.Java的字符类型采用的是Unicode编码,每个Unicode码占16位比特B.Java的各种 更多相关问题 [名词解释] 捐躯juān qū [名词解释] 藕断丝连ǒu ...

  9. Unicode码大全 - 所有常见字符:

    Unicode码大全 - 所有常见字符 经常有些特殊符号输不出来? 没关系 \u+unicode码搞定~ 一些可能会用到的特殊符号(Unicode) 编码为10进制 8214 | 8215 ? 822 ...

最新文章

  1. R语言dplyr包的slice函数提取数据集的数据行实战
  2. 科技部5个6G重点项目
  3. cve-2016-6662 mysql远程代码执行/权限提升 漏洞
  4. Qt Creator创建项目
  5. git clone的源码在vim打开时是乱码
  6. 女生转行IT与男生有什么不一样?
  7. Mr.J-- jQuery学习笔记(二)--核心函数jQuery对象
  8. ​2020启示:拼多多篇— —退潮后,你才发现人家是游泳健将
  9. C/C++ 指针数组、二维数组
  10. [置顶] SPL讲解(6)--Condition篇
  11. 介绍一些房屋抗震的科普知识
  12. java基础教程推荐_推荐Java入门视频教程
  13. iled to read key AndroidDebugKey from store “D:\路经\.android\debug.keystore“: Invalid keystore format
  14. 7.python基础之基础数据类型--字典dict
  15. Ansj添加停用词表
  16. unity hub 免费版实现
  17. mysql制空快捷键_mysql数据库常用操作
  18. java中高级面试_Java中高级面试题及答案
  19. 张首晟:区块链技术是互联网世界新的分合转折点
  20. 6款无版权可商用的图片网站

热门文章

  1. Cisco 4507交换机更换备用引擎操作手册
  2. AI开发过程中常用开发命令及软件安装
  3. PCR主成分回归预测MATLAB代码 代码注释清楚。 main为主程序,读取EXCEL数据
  4. Excel服务器数据库修改,excel服务器与数据库
  5. java-堆里面的分区:Eden,survival(from) to,老年代,各自的特点。
  6. 得力打印机Android,得力打印机技术填补国内空白
  7. 当外汇储备增加时,国内是不是就必须发行更多货币?
  8. python房价预测_python预测房价
  9. 【渗透实战】web渗透实战,相对高安全级别下,详细分析整个渗透过程以及介绍社工的巧妙性,拿一站得数十站,(漏洞已交)
  10. 专享策略02 | 商品股指通用套利策略(一)