PHP转JSON,中文会被转码成unicode,使用常量JSON_UNESCAPED_UNICODE可以使中文原样输入

echo json_encode("中文");
//Output: "\u4e2d\u6587" echo json_encode("中文", JSON_UNESCAPED_UNICODE);
//Output: "中文"

Json在5.4还加入了: JSON_BIGINT_AS_STRINGJSON_PRETTY_PRINTJSON_UNESCAPED_SLASHES等选项

其中有2个比较常用到的参数

JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256)

JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字 64)

通常json_encode只能传入一个常量,如果同时使用2个常量怎么办?

JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320

使用方法:json_encode($arr,320);即可完成同时使用2个常量。

$arr=[
"a"=>"test",
"b"=>"测试",
]; echo json_encode($arr,320);
//{"a":"test","b":"测试"}
echo json_encode($arr);
//{"a":"test","b":"\u6d4b\u8bd5"}

  

php json_encode使用中文不转码的更多相关文章

  1. json_encode()中文不转码

    php使用json_encode()把数组转换为json的时候,总会把中文进行转码,转码后从json数据上我们无法看出其中的中文文字.php5.4以后,当json_encode()的第二个参数赋值为J ...

  2. PHP json_encode 中文不转码,低版本处理

    5.4 以上版本可以使用 JSON_UNESCAPED_UNICODE  来解决,但是低版本的,需要用其他方式 需要注意的是,encode_json参数为数组,不能为对象 function encod ...

  3. json 压缩中文不转码

    $testJSON=array('name'=>'中文字符串','value'=>'test'); echo json_encode($testJSON, JSON_UNESCAPED_U ...

  4. 解决php json_encode 出现的中文转码、乱码问题

    // 防止json中文转码 function jsonEncodeWithCN($data) { return preg_replace("/\\\u([0-9a-f]{4})/ie&quo ...

  5. URL中文转码问题

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  6. iOS开发之网络编程--中文转码

    前言: 在GET请求或者是POST请求,请求上传的参数如果含有中文,可能会导致请求失败. 所以要对存储了URL地址的NSString对象进行中文转码,然后将这个NSString对象传递给URL.   ...

  7. MySQL 存储php中json_encode格式中文问题及解决

    MySQL 存储php中json_encode格式信息  ,遇到中文时, 会变成一堆类似uxxxx信息. 1. 原因分析:在存储到数据库时!MySQL 不会存储 unicode 字符: MySQL 仅 ...

  8. NSStringUIImage~NSData的相互转换以及中文转码

    中文转码 str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 图片编码 NSData *data; ...

  9. IOS网络请求中文转码

    -(void)get { NSString *urlStr = @"http://120.25.226.186:32812/login2?username=小码哥&pwd=520it ...

  10. 中文转码器的工作原理_delphi教程

    最近在做Delphi下的简体与繁体转换, 发现Windows2000自带的工具"中文转码器"很好用, 不仅可以转内码(BIG5-->GBK), 还可以将繁体字转为简体字(如: ...

随机推荐

  1. Excel error - the macros in this project are disabled, please refer to the online help or documentation of the host application to determine how to enable macros.

    alt+F11 进入vba界面,F5运行macro后报错. Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To S ...

  2. 关于给widget添加属性

    在django中,我们通过修改Form/ModelForm的初始化函数__init__修改表单的显示样式,其中修改widget的属性操作和字典操作一致. 1.给widget添加属性 说明:这是在不影响 ...

  3. 为什么要有jvm,jvm的作用?

    jvm的两个作用:第一.运行并管理java源码文件所生成的Class文件.第二.在不同的操作系统上安装不同的jvm,从而去实现跨平台的一个保障. 一般情况下,即使不熟悉jvm的运行机制,也不影响业务代 ...

  4. 【Anaconda】Jupyter 中添加 Anaconda 环境

    两种方法: 1. 安装 nb_conda_kernels,将所有 conda 环境同步至 Jupyter Notebook,参考『Jupyter notebook选择conda环境 - 简书』. 2. ...

  5. fastapi四:uvicorn.run支持的参数

    `app:指定应用app,'脚本名:FastAPI实例对象'.FastAPI实例对象 host: 字符串,允许被访问的形式 locahost.127.0.0.1.当前IP.0.0.0.0,默认为127 ...

  6. abap sql中进行除法操作

    在abap 得sql中进行除法操作要用division,不能用 " / "这个符号 SELECT vbeln, 100 * CAST( 10 + DIVISION( ZMENG, ...

  7. 安装.msi格式安装包

    msi格式的文件,点右键后,没有"以管理员身份运行"的菜单项,直接运行.msi文件报错:"There is a problem with this Windows Ins ...

  8. php 动态实例化某个类

    $name = 'test'; $controller = 'test'; $a = '\\addons\\'.$name.'\\model\\'.$controller; $this->mod ...

  9. lg8945题解

    考虑一个20分的\(O(n^2)\)做法:枚举答案区间\([l,r]\),那么显然要把尽可能多的1填入\([l,r]\).使用前缀和计算\([l,r]\)中\(0\)的个数,那么填入后的价值可以\(O ...

  10. python学习●错误点●expected an indented block

    报错:expected an indented block 翻译:缩进错误 因为python判断句无{},所以要缩进空格代表优先级.