json_encode 转化数组时,中文不转义出现乱码的解决方法

一个简单的方法,就是在json_encode($data) ,后面添加一个参数   json_encode($data, JSON_UNESCAPED_UNICODE);

写一个简单的代码

public function appLog($id,$age){    $User = M(‘User‘);    $where[‘id‘] = $id;    $where[‘age‘] = $age;    $data = $User->where($where)->select();    if ($data){        return $this->api_return(‘请求成功!‘,0,$data);    }else{        return $this->api_return(‘请求失败!‘,-1,‘null‘);    }

}
public function api_return($msg = ‘‘, $code = -1, $data = null){    $output = array(        ‘message‘ => $msg,        ‘code‘ => $code,//-1表示错误  0 表示正确返回数据        ‘data‘ => $data    );    // 返回JSON数据格式到客户端    header(‘Content-Type:application/json; charset=utf-8‘);    $output = json_encode($output, JSON_UNESCAPED_UNICODE);    echo $output;

}
{"message":"请求成功!","code":0,"data":[{"id":"2","name":"sohu","age":"19","email":"[email protected]","status":"1","sex":"1"}]}
时间: 2024-10-31 16:26:08

json_encode 转化数组时,中文不转义出现乱码的解决方法的相关文章

Ubuntu Server 14.04 选择中文安装后日期乱码的解决方法

Ubuntu Server 14.04选择中文安装后,默认的/etc/default/locale会使某些中文日期乱码,执行ll和date可见. /etc/default/locale 原来内容为: LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" LC_NUMERIC="zh_CN" LC_TIME="zh_CN" LC_MONETARY="zh_CN" LC_PAPER=&q

yii下使用oracle中文都变成问号乱码的解决方法

在配置文件中,一般会用以下配置: 'db_oracle'=>array( 'class' => 'CDbConnection', 'connectionString'=>'oci:dbname=服务器地址/服务名', 'username'=>'用户名', 'password'=>'密码', 'charset' => 'utf8', 'enableParamLogging'=>true, ), 我试了千万遍,找了N久的资料,就是不行,在thinkphp中发现也没有什

raw_input里面中文输出会变成乱码的解决方法

#!/user/bin/env python# -*- coding: utf-8 -*- print u'你好,你是:'name=raw_input((u'请输入你的名字\n').encode('gbk')).decode('gbk') print name,u'是一个好名字,欢迎来到%s' %u'极乐阁' raw_input 里的decode里不能使用utf-8,使用后依然是乱码. 中文在raw_input里需要转换为gbk,gbk是汉字内码扩展规范.gbk 向下与GB 2312兼容,向上支

ajax传送中文字符到后台乱码的解决方法

$.ajax({ url : 'Login', type : 'post', dataType : 'text', data : { "user" :encodeURIComponent(userName), }, 前端代码 String name=request.getParameter("user"); name= URLDecoder.decode(name, "UTF-8"); 后台代码

30. CentOS终端命令行显示中文乱码的解决方法

安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法:修改/etc/sysconfig/i18n,内容为 代码如下: LANG="zh_CN.GB18030"LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"SYSFONT="lat0-sun16" 退出重新登录即

PHP截取中文字符串不出现?号的解决方法[原创]

PHP截取中文字符串不出现?号的解决方法[原创] 大 | 中 | 小 [不指定 2007-8-15 18:51 | by 张宴 ] [文章作者:张宴 本文版本:v1.0 最后修改:2007.08.15 转载请注明出处:http://blog.zyan.cc] 当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字 view plainprint? <?php $text = "1欢迎访问sina新浪播客"; $value = substr($tex

Sublime Text 3打开txt中文乱码的解决方法

Sublime Text是一个非常强大的编辑器,可是对中文的支持并不好,在Sublime Text 2 时,可以通过命令行的方式安装编码包来解决,但Sublime Text 3不能通过这样的方式解决 在安装完Sublime Text 3后要下载一个ConvertToUTF8包放到C:\Users\用户名\AppData\Roaming\Sublime Text 3\Packages(安装目录可能不是这个,但可以在sublime中preference - browse packages打开此目录)

水晶报表 Crystal Report 调用存储过程时出错 找不到表 ,解决方法。

用 CrystalReportViewer1 控件在asp.net的网页上显示报表,如果做报表时调用数据表数据的方式调用是可以成功的,但报表是用存储过程获取数据方式会出现以下错误: 找不到表'RptOpenCheck;1' . 文件 G:\TEMP\FO-OpenCheck {6D191F06-DECF-4A25-88FC-8553E3D435AA}.rpt 内出错: 找不到表. Error: 未将对象引用设置到对象的实例. The table 'RptOpenCheck;1' could no

ubuntu 中用vim打开txt等文件中文显示乱码的解决方法 &nbsp;

今晚用ubuntu 12.04 的vim编辑网页代码时,发现上面的中文显示乱码.这个html文件是我之前用gedit编辑的,在gedit里面显示正常,可是在vim下显示就是乱码了. 怎么解决ubuntu中vim显示中文乱码的问题呢? 首先,添加中文字符编码: sudo gedit /var/lib/locales/supported.d/local 在打开的文件中添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030