基于php解决json_encode中文UNICODE转码问题


Posted in PHP onNovember 10, 2020

用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编码了。

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

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

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);
}

4.例子

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
zend api扩展的php对象的autoload工具
Apr 18 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
PHP 万年历实现代码
Oct 18 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
Laravel手动返回错误码示例
Oct 22 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
PHP获取类私有属性的3种方法
Sep 10 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 #PHP
关于PHP求解三数之和问题详析
Nov 09 #PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 #PHP
PHP后门隐藏的一些技巧总结
Nov 04 #PHP
phpstudy2020搭建站点的实现示例
Oct 30 #PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 #PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 #PHP
You might like
PHP中的日期及时间
2006/11/23 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
php解析json数据实例
2014/08/19 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
js数组操作学习总结
2013/11/04 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
原生JS实现天气预报
2020/06/16 Javascript
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
python关于变量名的基础知识点
2020/03/03 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
法律进学校实施方案
2014/03/15 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
保险内勤岗位职责
2015/04/13 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA