php encode中文乱码的解决办法:首先打开相应的PHP文件;然后使用正则语句“preg_replace("#\\\u([0-9a-f]{4})#ie","iconv('UCS-2BE', 'UTF-8'...)”将编码替换成中文即可。

本文列举3个方法,实现json_encode()后的string显示中文问题。

做接口时不需要,但存log时帮了大忙了。

在贴代码前,必须贴上官方param和return,链接:http://php.net/manual/zh/function.json-encode.php

参数value

待编码的 value ,除了resource类型之外,可以为任何数据类型

该函数只能接受 UTF-8 编码的数据

options

由以下常量组成的二进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS,JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT,JSON_UNESCAPED_UNICODE.

返回值

编码成功则返回一个以 JSON 形式表示的 string 或者在失败时返回 FALSE。<?php

// json_encode() 保持中文方法详解

$arr['city'] = '北京';

$arr['name'] = 'weilong';

// 直接输出

// Res: {"city":"\u5317\u4eac","name":"weilong"}

echo json_encode($arr), "\n";

#### 1. 加参数,PHP版本>=5.4

// Res: {"city":"北京","name":"weilong"}

echo json_encode($arr, JSON_UNESCAPED_UNICODE), "\n"; // php >= 5.4

#### 2. 正则替换,json_encode后,正则将编码替换成中文

// Res: {"city":"北京","name":"weilong"}

echo preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", json_encode($arr)), "\n"; // PHP 5.5 /e修饰符被弃用

echo preg_replace_callback("/\\\u([0-9a-f]{4})/i", function($match) { // php >= 5.3 都可以

return json_decode("\"{$match[0]}\"", true);

}, json_encode($arr)), "\n";

#### 3. urldecode()、urlencode()函数,不推荐

// Res1: null, Res2: {"city":"北京","name":"weilong"}

echo urldecode(json_encode(urlencode($arr))), "\n";

$arr['city'] = urlencode($arr['city']); // urlencode()参数必须是string

echo urldecode(json_encode($arr)), "\n";

// 另外注意json_decode()参数区别。

$arr['city'] = '北京';

$arr['name'] = 'weilong';

$str = json_encode($arr);

$str2 = json_decode($str);

$str3 = json_decode($str, true);

print_r($str2); // object

/* Res:

stdClass Object

(

[city] => 北京

[name] => weilong

) */

print_r($str3); // array

/* Res:

Array

(

[city] => 北京

[name] => weilong

)

*/

php json encode中文乱码,php json_encode中文乱码如何解决相关推荐

  1. php json_encode后乱码,php json_encode 中文乱码的解决方法

    json_encode对中文的处理一直是有问题的, 1.不能处理GB编码,所有的GB编码都会替换成空字符. 2.utf8编码的中文被编码成unicode编码,相当于javascript的escape函 ...

  2. php 输出json 中文转unicode,PHP json_encode中文unicode转码问题

    用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5. ...

  3. json_encode 中文乱码

    用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式, 还会在一定程度上增加传输的数据量. 而在PHP5.4, 这个问题终 ...

  4. php 转码问题,php 解决json_encode中文UNICODE转码问题

    用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5. ...

  5. 解决 json_encode 中文乱码

    来源: http://www.phpchina.com/archives/view-42572-1.html 解决以下问题 json_encode 中文后的字符串不可阅读 json_encode 多级 ...

  6. php json_encode 中文乱码解决方法

    php json_encode 中文乱码解决方法 参考文章: (1)php json_encode 中文乱码解决方法 (2)https://www.cnblogs.com/oldphper/p/412 ...

  7. PHP json_encode中文乱码解决方法

    PHP json_encode中文乱码解决方法 参考文章: (1)PHP json_encode中文乱码解决方法 (2)https://www.cnblogs.com/jisheng/archive/ ...

  8. json_encode 中文不乱码

    echo json_encode("中文", JSON_UNESCAPED_UNICODE);//"中文" 转载于:https://www.cnblogs.co ...

  9. PHP json_encode 中文乱码

    在编码过程中.经常会用到json_encode来处理中文.但是.出现一个问题.中文都会被转码.变为" \u**** "的格式.如何避免被转码. 1:PHP的版本为5.4以上: ec ...

最新文章

  1. 端口映射问题:Bad Request This combination of host and port requires TLS.
  2. freemarker写select组件报错总结(六)
  3. pde中微元分析法的主要思想_果然是清北学霸,高中数学解题思想与技巧方法,学会不下145分...
  4. 使用Spring WebFlux从Corda节点流式传输数据
  5. Lrc歌词-开发标准 (转)
  6. 基于mysql搭建框架环境搭建_Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
  7. java基础—网络编程———聊天窗口的建立
  8. 是什么还让你停留在 iOS 平台?是这些理由吗
  9. mysql 默认时间_使用Sysbench对滴滴云MySQL进行基准测试
  10. memset初始化值的效率秒杀for循环
  11. 附和导线平差程序(by C#)
  12. 有限元:什么是有限元分析法
  13. 【excel】开启了循环引用怎么关闭
  14. 计算机管理无法连接虚拟磁盘服务,win10系统电脑打开磁盘管理出现“无法连接虚拟磁盘服务”的教程...
  15. 关于华为云会议的测评
  16. HHDESK便捷功能介绍二
  17. NYOJ-20 吝啬的国度【深搜】
  18. html标题字体重叠,如何在HTML和CSS的段落标题上方显示堆叠的字体超棒图标?
  19. STM32驱动12bit AD TLC2543(I/O模拟方式)
  20. Matlab--创建函数(function)

热门文章

  1. 可调整大小的div_气液增压缸运行速度的调整以及压力的调节方式
  2. android aar jar制作,AndroidStudio aar、jar生成及其引用
  3. python涉及到的逻辑_涉及逻辑运算的python表达式的运算顺序
  4. Redis(五):List集合数据类型详解
  5. SpringBoot基础篇(二):HelloWorld细节探究
  6. ubuntu7.10中的apache的一些设置
  7. Monthly Expense【二分】
  8. ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源
  9. 经典功率谱估计及Matlab仿真
  10. Log4cpp 使用手册