文档章节

php 解决json_encode中文UNICODE转码问题

庄生晓梦V
 庄生晓梦V
发布于 2016/07/11 10:00
字数 242
阅读 15
收藏 0

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

 

1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.

<?php
  echo json_encode("中文", JSON_UNESCAPED_UNICODE);
?>
 

2.把汉字先urlencode然后再使用json_encode,json_encode之后再次使用urldecode来解码,这样编码出来的json数组中的汉字就不会出现unicode编码了。

<?php

  $array = array(
    'test'=>urlencode("我是测试")
  );

  $array = json_encode($array);
  echo urldecode($array);
  //{"test":"我是测试"}
?>

3.对unicode码再进行解码,解码函数如下:

<?php

function decodeUnicode($str)
{
    return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
        create_function(
            '$matches',
            'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
        ),
        $str);
}


$arr = array('name1':"中文",'name2':'abc12');
$jsonstr = decodeUnicode(json_encode($arr));

?>

参考:

http://www.cnblogs.com/sink_cup/archive/2011/05/28/php_json_encode_unicode_decode.html

http://www.veryhuo.com/a/view/35112.html

http://www.alixixi.com/program/a/2011112776664.shtml

本文转载自:http://blog.csdn.net/bjash/article/details/9834497

庄生晓梦V

庄生晓梦V

粉丝 1
博文 47
码字总数 8016
作品 0
青岛
程序员
私信 提问
解决json_encode中文UNICODE转码问题

用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了...

grushy
2014/10/21
1K
0
json_encode中文被自动转码unicode问题

用Laravel开发移动APP服务器端,数据从数据库查出转码JSON时被自动转码unicode,导致客户端中文显示unicode编码,跟代码发现调用了PHP自带的jsonencode自动做了中文的unicode编码处理,用JSO...

胖熊要吃肉
2015/09/26
724
0
PHP 数据加密工具类

PHP 数据加密工具类 最近在写一个需要加密传输数据的小项目,顺便把用的加密方法封装成一个工具类,其实就是按字节位把ASCII码进行位运算 加密解密工具类 使用方法 注意如果传输的是 json 字...

big_cat
2016/06/20
106
0
json_encode不对中文进行转码、json_decode解析json字符串返回NULL的处理方法

josn_encode不对中文进行转码 用PHP的jsonencode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式。 在PHP5.4及以上, Json新增了一个选项: JSONUNESCAPED_UNICODE, 故名...

anda0109
2017/10/15
0
0
echo json_encode() 输出中文不显示

PHP默认的jsonencode编码出来的是unicode编码的,也就是u的编码,用PHP的jsonencode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式。 虽然unicode编码可以在不同的页面...

ITCHN
2016/12/19
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
25分钟前
2
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
27分钟前
5
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
30分钟前
3
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
35分钟前
4
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
59分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部