php json encode中文乱码,php json_encode中文乱码如何解决
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中文乱码如何解决相关推荐
- php json_encode后乱码,php json_encode 中文乱码的解决方法
json_encode对中文的处理一直是有问题的, 1.不能处理GB编码,所有的GB编码都会替换成空字符. 2.utf8编码的中文被编码成unicode编码,相当于javascript的escape函 ...
- php 输出json 中文转unicode,PHP json_encode中文unicode转码问题
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5. ...
- json_encode 中文乱码
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式, 还会在一定程度上增加传输的数据量. 而在PHP5.4, 这个问题终 ...
- php 转码问题,php 解决json_encode中文UNICODE转码问题
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5. ...
- 解决 json_encode 中文乱码
来源: http://www.phpchina.com/archives/view-42572-1.html 解决以下问题 json_encode 中文后的字符串不可阅读 json_encode 多级 ...
- php json_encode 中文乱码解决方法
php json_encode 中文乱码解决方法 参考文章: (1)php json_encode 中文乱码解决方法 (2)https://www.cnblogs.com/oldphper/p/412 ...
- PHP json_encode中文乱码解决方法
PHP json_encode中文乱码解决方法 参考文章: (1)PHP json_encode中文乱码解决方法 (2)https://www.cnblogs.com/jisheng/archive/ ...
- json_encode 中文不乱码
echo json_encode("中文", JSON_UNESCAPED_UNICODE);//"中文" 转载于:https://www.cnblogs.co ...
- PHP json_encode 中文乱码
在编码过程中.经常会用到json_encode来处理中文.但是.出现一个问题.中文都会被转码.变为" \u**** "的格式.如何避免被转码. 1:PHP的版本为5.4以上: ec ...
最新文章
- 端口映射问题:Bad Request This combination of host and port requires TLS.
- freemarker写select组件报错总结(六)
- pde中微元分析法的主要思想_果然是清北学霸,高中数学解题思想与技巧方法,学会不下145分...
- 使用Spring WebFlux从Corda节点流式传输数据
- Lrc歌词-开发标准 (转)
- 基于mysql搭建框架环境搭建_Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
- java基础—网络编程———聊天窗口的建立
- 是什么还让你停留在 iOS 平台?是这些理由吗
- mysql 默认时间_使用Sysbench对滴滴云MySQL进行基准测试
- memset初始化值的效率秒杀for循环
- 附和导线平差程序(by C#)
- 有限元:什么是有限元分析法
- 【excel】开启了循环引用怎么关闭
- 计算机管理无法连接虚拟磁盘服务,win10系统电脑打开磁盘管理出现“无法连接虚拟磁盘服务”的教程...
- 关于华为云会议的测评
- HHDESK便捷功能介绍二
- NYOJ-20 吝啬的国度【深搜】
- html标题字体重叠,如何在HTML和CSS的段落标题上方显示堆叠的字体超棒图标?
- STM32驱动12bit AD TLC2543(I/O模拟方式)
- Matlab--创建函数(function)
热门文章
- 可调整大小的div_气液增压缸运行速度的调整以及压力的调节方式
- android aar jar制作,AndroidStudio aar、jar生成及其引用
- python涉及到的逻辑_涉及逻辑运算的python表达式的运算顺序
- Redis(五):List集合数据类型详解
- SpringBoot基础篇(二):HelloWorld细节探究
- ubuntu7.10中的apache的一些设置
- Monthly Expense【二分】
- ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源
- 经典功率谱估计及Matlab仿真
- Log4cpp 使用手册