解决PHP中json_encode()不支持中文的替代函数
json_encode()是PHP中将数组转换成JSON格式的函数,因为各种原因只要是中文就会乱码= =
找到了这么一个函数替代了原有的json_encode(),能很好地输出中文~
function ch_json_encode($data) { function ch_urlencode($data) {
if (is_array($data) || is_object($data)) {
foreach ($data as $k => $v) {
if (is_scalar($v)) {
if (is_array($data)) {
$data[$k] = urlencode($v);
} else if (is_object($data)) {
$data->$k = urlencode($v);
}
} else if (is_array($data)) {
$data[$k] = ch_urlencode($v); //递归调用该函数
} else if (is_object($data)) {
$data->$k = ch_urlencode($v);
}
}
}
return $data;
} $ret = ch_urlencode($data);
$ret = json_encode($ret);
return urldecode($ret);
}
解决PHP中json_encode()不支持中文的替代函数的更多相关文章
- 解决ubantu中sublime不支持中文的方法
更新然后将系统升级到最新版本,在linux终端输入 sudo apt-get update && sudo apt-get 在本地目录中克隆此repo: 如果你没有git的话就安 ...
- mac中matplotlib不支持中文的解决办法
参考:https://blog.csdn.net/kaizei_pao/article/details/80795377 首先查看matplotlib已加载的字体: import matplotlib ...
- 微信小程序------MD5加密(支持中文和不支持中文)和网络请求(get和post)
开发中常常遇到MD5加密,最近做小程序也用到了,简单总结了一下: 这要有两个加密文件,一个不支持中文,一个支持,所以你选择支持的来用就行了: 也随便说说小程序的get和post网络请求. 来看看效果图 ...
- 解决Docker中运行的MySQL中文乱码
docker exec -it mysql bash 如果没有安装vim,请参考 解决Docker容器中不能用vim编辑文件 vim /etc/mysql/mysql.conf.d/mysql.cnf ...
- 解决tomcat7中request会对中文重新编码,导致后台接收到为encode编码后参数问题
package xxx; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.ut ...
- 解决mac 中的myeclipse控制台中文乱码问题
http://www.myexception.cn/eclipse/1742588.html 解决 http://my.oschina.net/u/555006/blog/195013
- Docker中配置字符集支持中文
在Dockerfile中加入以下内容: ENV LANG en_US.UTF-8ENV LANGUAGE en_US:enENV LC_ALL en_US.UTF-8
- 让Linux中的Nginx支持中文文件名
原文:https://blog.csdn.net/soeben/article/details/79525964 首先你的服务器需要安装了UTF-8字符集在命令行里输入env|grep LANG如果显 ...
- Web jsp开发学习——终极解决jsp中request和response中文乱码的问题(加个过滤器)
中文乱码真的很烦人的.而且每次都要写,可麻烦了,而且有时候写了还不一定管用,所以我们可以试试过滤器 1.每个jsp头上当然要写上utf8啦 <%@ page language="jav ...
随机推荐
- JMeter-- ThreadGroup原理分析
JMeterEngine会驱动JMeter ThreadGroup启动Test Threads 执行测试,其本身也是一个Runnable,这里把测试驱动(JUnit或者其他类似main之类的)看作主线 ...
- 通过案例来剖析JQuery与原生JS
首先来个例子: 我们在登陆或者注册一些网站时,如果某一项点过了但没填,鼠标移走后是不是经常看到网站有相应的红色字体提示呢? 那下面我们就以这个为例来剖析下jQuery和原生JS的一些区别,来上代码: ...
- flask内置的信号
from flask import Flask,request,template_rendered,render_template,got_request_exception from signals ...
- day34 并行并发、进程开启、僵尸及孤儿进程
day34 并行并发.进程开启.僵尸及孤儿进程 1.并行与并发 什么是并行? 并行指的是多个进程同时被执行,是真正意义上的同时 什么是并发? 并发指的是多个程序看上去被同时执行,这是因为cpu在多个程 ...
- 2019-07-30 C#基础知识学习
继承和多态 接口与抽象类的区别:1.在接口中仅能定义成员,但是不能有具体的实现:抽象类除了抽象成员以外,其他成员有具体的实现.2.在接口中不能声明字段,并且不能声明任何私有成员,成员不能包含任何修饰符 ...
- SQL SERVER DATENAME函数
定义: DATENAME函数返回指定日期的指定部分. 语法: DATENAME(datepart,date) 参数: ①datepart 参数可以是下列的值: datepart 缩写 年(Year) ...
- Spring Boot 面试总结(一)
1.使用 Spring Boot 前景? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用 ...
- 永久修改Putty设置
在使用远程登录Putty时,会发现修改一些设置并且退出后发现自己之前改的设置不见了,可以通过保存设置解决 假设我要修改远程终端的背景颜色,选择系统颜色 勾选后,如果不保存下次登入时又要进行设置 点击D ...
- Python三大主流框架的对比
相信做Python这一块的程序员都有听说这三个框架,就像神一样的存在,每一个框架的介绍我就不写出来了,感兴趣可以自己百度了解了解!下面我就说正事 Django:Python 界最全能的 web 开发框 ...
- 快速开启关闭mysql,批命令方便!
很多python开发人员和我一样,都会在自己的电脑上配置一个python开发的环境,便于开发和学习使用,比如我现在电脑上使用的就是mysql数据库,而我的电脑配置又比较低,电脑运行起来会出现卡慢的情况 ...