php json encode中文乱码,php json_encode中文乱码如何解决

php encode中文乱码的解决办法:首先打开相应的PHP文件;然后使用正则语句“preg_replace("#\\\u([0-9a-f]{4})#ie","iconv('UCS-2BE', 'UTF-8'...)”将编码替换成中文即可。

fbf2b3a9f1dd9669536b749e0256409e.png

本文列举3个方法,实现json_encode()后的string显示中文问题。

做接口时不需要,但存log时帮了大忙了。

在贴代码前,必须贴上官方param和return,链接:http://php.net/manual/zh/function.json-encode.php

参数value

待编码的 value ,除了resource类型之外,可以为任何数据类型

该函数只能接受 UTF-8 编码的数据

options

由以下常量组成的二进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS,JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT,JSON_UNESCAPED_UNICODE.

返回值

编码成功则返回一个以 JSON 形式表示的 string 或者在失败时返回 FALSE。<?php

// json_encode() 保持中文方法详解

$arr['city'] = '北京';

$arr['name'] = 'weilong';

// 直接输出

// Res: {"city":"\u5317\u4eac","name":"weilong"}

echo json_encode($arr), "\n";

#### 1. 加参数,PHP版本>=5.4

// Res: {"city":"北京","name":"weilong"}

echo json_encode($arr, JSON_UNESCAPED_UNICODE), "\n"; // php >= 5.4

#### 2. 正则替换,json_encode后,正则将编码替换成中文

// Res: {"city":"北京","name":"weilong"}

echo preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", json_encode($arr)), "\n"; // PHP 5.5 /e修饰符被弃用

echo preg_replace_callback("/\\\u([0-9a-f]{4})/i", function($match) { // php >= 5.3 都可以

return json_decode("\"{$match[0]}\"", true);

}, json_encode($arr)), "\n";

#### 3. urldecode()、urlencode()函数,不推荐

// Res1: null, Res2: {"city":"北京","name":"weilong"}

echo urldecode(json_encode(urlencode($arr))), "\n";

$arr['city'] = urlencode($arr['city']); // urlencode()参数必须是string

echo urldecode(json_encode($arr)), "\n";

// 另外注意json_decode()参数区别。

$arr['city'] = '北京';

$arr['name'] = 'weilong';

$str = json_encode($arr);

$str2 = json_decode($str);

$str3 = json_decode($str, true);

print_r($str2); // object

/* Res:

stdClass Object

(

[city] => 北京

[name] => weilong

) */

print_r($str3); // array

/* Res:

Array

(

[city] => 北京

[name] => weilong

)

*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ORACLE JOB 失败 查看,Oracle JOB异常中断原因分析

注释今天研发同事找我确认 PKG_WMS.proc_TaskMain 存储的 job 是否还在运行&#xff0c;竟发现 dba_jobs.NEXT_DATE4000/1/1&#xff0c;如下看看究竟原因吧~JOB 信息&#xff1a;参数&#xff1a;BROKEN : 中断标记 ,N 启动、Y 中断 --> DBMS_JOBS.BROKEN(job_id,TRUE/FA…

步骤1:JMeter 录制脚本接口测试

JMeter 常用测试方法简介 1.下载安装 http://jmeter.apache.org/download_jmeter.cgi 安装JDK&#xff0c;配置环境变量JAVA_HOME. 系统要求&#xff1a;JMeter2.11 需要JDK1.6以上的版本支持运行 2.学习Jmeter元件 http://jmeter.apache.org/usermanual/component_reference.h…

多例模式

多例&#xff1a;只是单例的一种延伸 不必过于在意各种模式的名字&#xff0c;重要的是学会融会贯通&#xff0c;把生产的car放到集合中 类似JDBC 的连接池 把连接对象放到池中 多例模式特点&#xff1a; 1. 多例类可以有多个实例 2. 多例类必须自己创建自己的实例&a…

Oracle public view,【易错概念】以太坊Solidity函数的external/internal,public/private,view/pure/payable区别...

1. 函数类型&#xff1a;内部(internal)函数和外部(external)函数函数类型是一种表示函数的类型。可以将一个函数赋值给另一个函数类型的变量&#xff0c;也可以将一个函数作为参数进行传递&#xff0c;还能在函数调用中返回函数类型变量。 函数类型有两类&#xff1a;- 内部(i…

ftp连接oracle服务器,使用SSL加密连接FTP - 架建SSL安全加密的FTP服务器(图)_服务器应用_Linux公社-Linux系统门户网站...

四、使用SSL加密连接FTP启用Serv-U服务器的SSL功能后&#xff0c;就可以利用此功能安全传输数据了&#xff0c;但FTP客户端程序必须支持SSL功能才行。 如果我们直接使用IE浏览器进行登录则会出现图4显示的错误信息&#xff0c;一方面是以为没有修改默认的端口21为990&#xff0…

oracle 微信公众号,关于微信公众号贴代码的方法

微信公众号码上贴代码一直一来都是个头疼的问题。吐槽一句&#xff1a;要是后台编辑器支持markdown就好了。今天教大家用在线markdown排版工具&#xff0c;把代码完美贴到微信公众号上。长话短说&#xff0c;今天用到的两个工具&#xff1a;首先&#xff0c;以一段代码为例。假…

计算理论 形式语言与自动机_下推式自动机(PDA)| 计算理论

计算理论 形式语言与自动机Pushdown Automaton (PDA) is a kind of Automaton which comes under the theory of Computation that appoints stack. The word Pushdown stands due to the fact that the stack can be pushed down as operations can only work on the elements…

运维人员究竟如何提升价值,持续获得高薪?

作者简介&#xff1a;老男孩&#xff0c;北京老男孩IT教育创始人&#xff0c;17年IT经验&#xff0c;资深Linux实战专家&#xff0c;IT培训界实战派顶尖大师&#xff0c;国内将实战心理学体系大量注入IT运维培训领域的第一人&#xff0c;多本IT畅销图书作者&#xff0c;51CTO金…

清空 linux 服务器,Linux服务器清理

Why?废话不多说直接来图&#xff0c;可以看出磁盘已经快要满了未清之前What?可以看出mnt文件夹占用的最大&#xff0c;然后进入mnt目录里通过命令,根据文件大小对该路径下文件排序du -h --max-depth1我们服务器出现磁盘快满了的原因是因为&#xff0c;服务器部署了多个tomcat…

Git中的AutoCRLF与SafeCRLF换行符问题

2019独角兽企业重金招聘Python工程师标准>>> 原文&#xff1a;http://www.cnblogs.com/flying_bat/archive/2013/09/16/3324769.html 最近在使用GitHub&#xff0c;发现不时没有修改过的文件要提交&#xff0c;对比发现文件全部修改&#xff0c;但找不到不一样的地方…

linux 下邮件服务器,Linux 下搭建Postfix邮件服务器

Linux 下搭建Postfix邮件服务器详解&#xff1a;1、首先关闭sendmail服务service sendmail stop2、chkconfig sendmail off(关闭开机自启动)3、修改DNS正解文件&#xff0c;使DNS能够解析邮箱服务添加下面两行mail.zhubf.com. IN A 172.17.17.2zhubf.com. IN M…

Coreseek Windows下安装调试

由于项目需要全文检索&#xff0c;后面就去网上查了下资料&#xff0c;找到了Sphinx【中文是狮身人面像】这个全文检索引擎&#xff0c;听说挺好用的&#xff0c;不过没有中文分词。后面又去找了一下&#xff0c;找到了Coreseek&#xff0c;一款中文全文检索/搜索软件。 一、Sp…

android shape.xml 属性详解

转载源:http://blog.csdn.net/harvic880925/article/details/41850723 一、简单使用 刚开始&#xff0c;就先不讲一堆标签的意义及用法&#xff0c;先简单看看shape标签怎么用。 1、新建shape文件 首先在res/drawable文件夹下&#xff0c;新建一个文件&#xff0c;命名为&#…

Linux比较大文件内容,Linux系统最大文件打开数优化,解决Too many open files报错

这是一个Linux系统常见的故障&#xff0c;网络上也能轻易的找到解决办法&#xff0c;我也只是在工作中遇到了这个问题&#xff0c;所以在博客记录下&#xff0c;以备不时之需。一、报错截图&#xff1a;图为resin的报错日志&#xff0c;很明显提示了Too many open files&#x…

Varnish缓存代理简介与配置

一、varnish原理&#xff1a;1&#xff09;Varnish简介&#xff1a;varnish缓存是web应用加速器&#xff0c;同时也作为http反向缓存代理。你可以安装varnish在任何http的前端&#xff0c;同时配置它缓存内容。与传统的 squid 相比&#xff0c;varnish 具有性能更高、速度更快、…

linux安装卸载mysql,Linux6 系列 安装、卸载mysql

Linux6 系列 安装、卸载mysqlLinux6 系列 安装、卸载mysqlLinux环境下载mysql&#xff1a;https://blog.csdn.net/weixin_40816738/article/details/90111456一、安装环境依赖&#xff1a;yum install -y cmake make gcc gcc-c libaio ncurses ncurses-devel二、安装流程1、软件…

linux14.04 Apache,Ubuntu 14.04编译安装Apache

Ubuntu下编译安装apache需要预先编译安装多个依赖件&#xff0c;包括&#xff1a;apr, apr-util,pcre,zlib-devel&#xff0c;等&#xff0c;相当麻烦&#xff0c;记录于此备查.由于Ubuntu系统默认安装时没有安装C&#xff0c;所以也需要先安装c编译需要相关的组件。[注]apt-ca…

linux dd入门,Linux基础知识:Linux中DD命令详解

1.dd命令简介功能&#xff1a;把指定的输入文件拷贝到指定的输出文件中&#xff0c;并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件&#xff0c;再把这个寄存文件写入第二张软盘上&#xff0c…

lcase和ucase_在SQL中使用UCASE(),LCASE()和MID()函数

lcase和ucaseUpper Case, Lower Case and MID functions are scalar functions which return a single value, based in the input value. 大写&#xff0c;小写和MID函数是标量函数&#xff0c;它们基于输入值返回单个值。 As you all know sometimes different databases ha…

linux ntp手动授时,关于我校NTP授时服务的使用说明

校园网用户&#xff1a;我中心于近期采购了GPS北斗授时服务设备&#xff0c;该设备可实现纯GPS模式、纯北斗模式和混合模式与卫星对时&#xff0c;同时实现对校内设备授时的功能。支持所有NTP协议的服务器、PC、嵌入式设备等&#xff0c;包括但不限于&#xff1a;Microsoft Win…