基于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 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
php&amp;java(二)
Oct 09 PHP
PHP 字符串操作入门教程
Dec 06 PHP
php读取msn上的用户信息类
Dec 05 PHP
PHP array_push 数组函数
Dec 26 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
PHP缓冲区用法总结
Feb 14 PHP
[原创]smarty简单模板变量输出方法
Jul 09 PHP
PHP时间处理类操作示例
Sep 05 PHP
PHP getDocNamespaces()函数讲解
Feb 03 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
PHP大文件分割分片上传实现代码
Dec 09 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/10/09 PHP
php中的实现trim函数代码
2007/03/19 PHP
php 缓存函数代码
2008/08/27 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
Dojo 学习要点
2010/09/03 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
常用python数据类型转换函数总结
2014/03/11 Python
Numpy掩码式数组详解
2018/04/17 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
小班上学期评语
2014/05/05 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
学校节能减排倡议书
2014/05/16 职场文书
中学教师师德承诺书
2014/05/23 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
数学教师个人总结
2015/02/06 职场文书
保险内勤岗位职责
2015/04/13 职场文书
宿舍管理制度范本
2015/08/07 职场文书
创业计划书之农家乐
2019/10/09 职场文书
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers