php过滤掉不乱码json,PHP JSON编码后,中文乱码的解决方式

1,有些时候,需要写接口,传递一些中文值,那么JSON编码,会出现目前以下两种情况!

a.输出乱码

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

echo json_encode($testJSON);

?>

输出结果:{“name”:”\u4e2d\u6587\u5b57\u7b26\u4e32″,”value”:”test”}

b.不输出乱码

使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用

函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:

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

//echo json_encode($testJSON);

$testJSON=ReturnUrlencode($testJSON);

/**

* [ReturnUrlencode 用递归的方式来遍历所有的数组并且解析]

* @param [type] $arr [description]

*/

function ReturnUrlencode($arr){

foreach ($arr as $key => $value){

if(is_array($value)){

$arr[$key]=ReturnUrlencode($value);

}else{

$arr[$key]=urlencode($value);

}

}

return $arr;

}

print_r(urldecode ( json_encode ( $testJSON ) ) );

?>

输出结果:{“name”:”中文字符串”,”value”:”test”}

遍历递归算法!将数组中的所有值,urlencode!

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

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

相关文章

php 遮罩层,Jquery实现遮罩层的方法

本文实例讲述了Jquery实现遮罩层的方法。分享给大家供大家参考。具体如下:1、假设#main为页面body中的最外层Div标签2、背景被遮罩后,显示的弹出窗(默认是不显示的,所包含的CSS这里就不贴了):xAttention!3、在script.js中定义遮罩…

php中append,插入节点append()、insertAfter()的特殊用法:对原有DOM元素进行移动

插入节点的方法: append()/appendTo()、prepend()/prependTo()、after()/insertAfter()、before/insertBefore()这些插入节点的方法不仅能将新创建的DOM元素插入到文档中,也能对原有的DOM元素进行移动(若对已在文档中存在的元素使用插入节点的方法则相当于执行“移动…

nhinx php 调优,高流量站点NGINX与PHP-fpm配置优化

本文由LinuxProbe.Com团队成员岳国帅整理发布,原文来自:黑白。导读使用Nginx搭配PHP已有7年的经历,这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。以下正是这方面的一些提示和建议:1. 将TCP切换为UNIX域套接字1. 将…

python怎么导入apscheduler,如何强制apscheduler将作业添加到作业存储?

我正在使用apscheduler使用脚本向调度程序添加作业。不幸的是,由于我没有启动调度程序,所以在使用脚本时没有正确安排作业。在scheduler self.getscheduler() # initializes and returns schedulerscheduler.add_job(triggertrigger, func function, j…

php rinit,PHP执行原理

一:PHP简介:PHP:Hypertext Preprocessor 也就是“超文本预处理器”,是一种通用的开源脚本语言。语法吸收了C语言,Java和Perl的特点,使用广泛,主要适用于Web开发领域。二:PHP的设计理…

php 放大镜,图片放大镜效果实战总结

摘要:本次实战主要完成了图片放大镜的效果,通过定义原始图片,放大镜,放大后的图片,然后设置放大后的图片为原始图片的3倍,通过鼠标移上显示放大后的图片,并通过位移计算当前放大镜的位置&#x…

oracle未授权sql查询,【oracle使用笔记3】sql查询遇到的若干问题总结

在整个开发过程当中,sql查询操做的频率比较高,在不一样的业务场景下会出现不一样的查询需求,如下是我在项目中遇到的查询需求,总结一下。sql【查询一】:取查询出的第一条数据oracleselect * from (select * from [ta…

linux内核mtd分区,linux-kernel – 在运行时调整MTD分区大小

我正在使用嵌入式设备,并希望能够通过Linux调整其MTD分区大小而无需重新启动.问题是我的Linux映像大小已经增加,它所在的当前MTD分区(mtd0)现在太小了.但是,它之后的分区(mtd1)是用于存储配置信息的JFFS2部分,因此重新调整大小不是一个选项,因为配置可能会丢失.我的目标是&…

linux 查看握手时间,实战:tcpdump抓包分析三次握手四次挥手

本文档以实战的形式介绍tcpdump抓包分析三次握手四次挥手的过程。执行tcpdump命令tcpdump -n -i ens32 host 192.168.10.10 and 42.186.113.26 >> /tmp/tcpdump.txtping game.campus.163.comcurl http://game.campus.163.comcurl http://game.campus.163.com结束后&#…

linux 高级i o函数,高级I/O函数

对于socket,最基本的输入输出函数就是,read和write。它们最基本,同样功能也是最少的。Unix中有几个函数是read/write的变种,在基本的输入输出功能上,还增加了一些非常使用的功能和特性,它们是:r…

调整linux块大小,Linux系统之更改默认块大小

查看操作系统块大小:#tune2fs -l /dev/sda1 |grep Block size ( tune2fs -l /dev/sda1可以查看更多相关文件系统的详细信息 )查看os系统页的大小: #getconf PAGESIZE查看某分区的block和inode的数量和大小,通常block比inode多tune2fs …

安装linux必不可少的一个分区,安装linux系统对硬盘分区时,必须有的两种分区类型是什么?...

安装Linux系统对硬盘分区时,必须有两种分区类型: 根分区和交换分区。根分区就是root分区,所有的东西都在这个分区内。 /swap分区是交换分区,是一定磁盘空间(分区或文件),用于将部分内存中的数据换下来,以腾…

ubuntu和linux服务器,Linux服务器系统CentOS和Ubuntu Server如何选择? | 偶乃秋辰

在秋辰看来,目前最优秀的服务器系统就是Linux,但是Linux并不能说是一套完整的操作系统,准确的说它只是系统的内核,否则也不会有那么多的发行版如:Red Hat、CentOS、Debian、Ubuntu、Fedora等。其实Linux发行版系统很多…

linux查看tcp络连接日志,Linux监控TCP连接数并触发日志记录

场景由于服务器经常半夜出现TCP连接数暴增,没办法及时查看处理,回头看记录又看不到现象,不好排查,故编写此脚本用于记录日志。脚本内容#!/bin/bash#任务计划设置此脚本每分钟执行一次即可,* * * * * sh /shell/tcp_sta…

linux cmake变量,linux – CMake错误:此项目中使用了以下变量,但它们设置为NOTFOUND...

我正在尝试使用tar文件whalebot-0.02.00.tar.gz配置whalebot爬虫.我已正确提取它:rootAdmin1:~/dls# tar xvzf whalebot-0.02.00.tar.gz之后我想配置它:rootAdmin1:~/dls/whalebot# ./configure它给了我错误:bash: ./configure: No such file…

linux命令history作用,Linux命令:history命令历史的管理及用法

bash可以保存的过去曾经执行过的命令。当某个用户登录到shell中,会读取该用户家目录中的~/.bash_history文件,并将历史命令列表保存到内存中。当用户退出当前shell时,会将内存中的历史命令列表覆盖至~/.bash_history文件。我们可以通过# hist…

aux 参数 linux,Linux下ps aux命令中STAT的参数含义(转)

$ ps auxUSER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMANDroot 11 100.0 0.0 0 16 ?? RL 4Dec09 98403:03.48 [idle: cpuroot 12 100.0 0.0 0 16 ?? RL 4Dec09 98430:12.35 [idle: cpust00…

linux系统nginx启动不了,nginx启动不了,求大神帮助!

服务器挂了,折腾半天Nginx都起不来,不知道咋回事,本人小白用户,求大神帮帮忙!# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/c…

linux 黑屏后死机,如何修复各种各样的黑屏死机

每次我们打开这些设备,我们都希望我们生活中的科技能发挥作用。当他们不能工作时,会让我们非常沮丧,尤其是当我们不知道如何解决问题时。所谓的“死亡黑屏”在操作系统之间很常见,当您打开机器,但屏幕空白。有时监视器…

c语言atof字母,C语言字符转换之atof()

现在看下强大的atof()函数,哇哈哈:/* Convert a string to a double. */doubleatof (const char *nptr){return strtod (nptr, (char **) NULL);}#if HAVE_CONFIG_H# include #endif#include #ifndef errnoextern int errno;#endif#include #if defined …