json_encode转义中文问题
默认情况下php的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式。
这使得数据库查看文本变得很麻烦。所以我们需要限制对于中文的转义。
对于PHP5.4+版本,json_decode函数第二个参数,可以用来限制转义范围。
要限制中文,使用JSON_UNESCAPED_UNICODE参数。
json_encode($a, JSON_UNESCAPED_UNICODE);
对于PHP5.3版本,可以先把ASCII 127以上的字符转换为HTML数值,这样避免被json_decode函数转码
function my_json_encode($arr)
{
array_walk_recursive($arr, function (&$item, $key) { if (is_string($item)) $item = mb_encode_numericentity($item, array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); });
return mb_decode_numericentity(json_encode($arr), array (0x80, 0xffff, 0, 0xffff), 'UTF-8');
}
在编码过程中、经常会用到json_encode来处理中文、但是、出现一个问题、中文都会被转码、变为” \u**** ”的格式、如何避免被转码、
1:PHP的版本为5.4以上;
echo json_encode( '中文' ); // "\u4e2d\u6587"
echo json_encode( '中文', JSON_UNESCAPED_UNICODE ); // "中文"
2:先把汉字urlencode转码、在json_encode; 然后urldecode解码;
echo $con = '中文'; // 中文
echo $con = urlencode( $con ); // %E4%B8%AD%E6%96%87"
echo $con = json_encode( $con ); // %E4%B8%AD%E6%96%87"
echo $con = urldecode( $con ); // "中文"
json_encode转义中文问题相关推荐
- php json存mysql斜杠_MySQL 存储php中json_encode格式中文问题及解决
MySQL 存储php中json_encode格式信息 ,遇到中文时, 会变成一堆类似uxxxx信息. 1. 原因分析: 在存储到数据库时!MySQL 不会存储 unicode 字符: MySQL ...
- php数组使用json_encode函数中文被编码成null的原因和解决办法
大写的囧,提客户处理问题,前端的APP一直在叽叽咂咂,说收到的值是null,弄了半天原来是这个问题,记录下吧 json格式在开发中用的十分广泛.在php中json_encode函数可以直接将数组转成 ...
- php中文转化为英文,json转码_解决PHP的json_encode处理中文被转码为全英文的方法...
摘要 腾兴网为您分享:解决PHP的json_encode处理中文被转码为全英文的方法,余额宝,视达网,千题库,汽修宝等软件知识,以及马上行动,芝麻手,叉叉mt,中微家校通,雷鸟邮件,我在找你,pads ...
- php 中文 encode,php 解决json_encode 时中文出现unicode编码
您现在的位置是:网站首页>>PHP>>php php 解决json_encode 时中文出现unicode编码 发布时间:2018-09-28 09:30:49作者:wangj ...
- php json_encode不转义,php json_encode不转义中文汉字的方法
php json_encode 函数在转义含有中文汉字的数据为json格试数据时,会将数据中的中文汉字转换成 unicode 格式的字符,如果我们要保留汉字原有的格式该如何做呢? json_encod ...
- PHP JSON_ENCODE 不转义中文汉字的方法
iOS程序中不识别读取到的JSON数据中 \u开头的数据. PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据. 网上很多,但是其实都是错误的,正确的方法是在json_enc ...
- PHP json_encode不转义中文
static public function test6() {//在数据库随便拿一条有中文的数据$user = DB::table('users')->select('name','compa ...
- json_encode 处理中文乱码
$data="JSON中文"; $newData=iconv("GB2312","UTF-8//IGNORE",$data) ...
- php 输出json utf8,php json_encode utf-8中文问题
以前碰到最多的是json_encode是gbk 编码时出现乱码,今天发现uft8也会出现中文乱码了,下面我们一起看问题如何解决吧. utf-8字符json_encode为变成转成utf16编码,也就是 ...
- php json_encode后乱码,PHP中json_encode后中文乱码的解决方案
header("Content-Type:text/html;charset=utf-8;"); $arr = array ('Version_code'=>2,'Versi ...
最新文章
- java inner class,C# Inner Class vs. java 的inner class比较-JSP教程,Java技巧及代码
- 九大排序算法,你会几个?
- 自定义LeNet5,开启你的炼丹之路
- Mysql安装过程(linux:2.6.18-194.el5,Mysql:)
- 在构造器里调用可重写的方法有什么问题?
- 如何向开源软件贡献自己的力量
- 高级工计算机操作试题及答案,计算机系统操作高级工试题和答案[1]
- Linux svn服务器搭建
- SpringBoot配置参数绑定@ConfigurationProperties@Value
- Luogu1514 引水入城
- 一刀工具箱 - 古诗文查询
- Android | Tangram动态页面之路(七)硬核的Virtualview
- 浅谈几个“返利网”----所谓的网购省钱利器
- 互联网系统故障应急处理流程
- BIOS学习之Beyong Bios
- SAP那些事-职业篇-25-顾问的价值
- java 跳过法定节假日和双休
- linux中mtd动态加载,Linux 2.6.11 下 MTD驱动情景实例分析
- Collision Filtering(selective collisions) 碰撞过滤(选择性碰撞)
- [项目]——文件搜索工具Java-Everything