php json_encode只支持utf-8编码,自定义一个函数即可解决之:
public function my_json_encode(array $data) {
$s= array();
foreach($data as $k => $v) {
if(is_array($v)) {
$v = my_json_encode($v);
$s[] = "\"$k\":$v";
}else{
$v = addslashes( str_replace( array("\n","\r"), '', $v));
$s[] = "\"$k\": \"$v\"";
}
}
return '{'.implode(', ', $s).'}';
}
相关推荐
有时候,我们需要获得汉字形式的json字符串,比如需要获得gbk编码的json字符串(只要把汉字形式的字符串转码就可以得到了)。有什么好办法么? php官方听到了这个需求,并提供了一种可靠的解决方案:JSON_UNESCAPED_...
写接口的同学应该会经常遇到数据格式的转换,这时候必不可少的两个函数就是json_encode()和json_decode()。 这两个函数使用的时候有很多的主要事项,在这里我来说一下json_decode()。 json_decode(): 对JSON 格式的...
原因分析:使用json_encode函数应应使用utf-8编码,我的页面用的是gbk. 解决:在json_encode函数前使用iconv(‘gbk’,’utf8′)函数。函数 function gbk2utf8($data) { if(is_array($data)) { return array_map...
主要介绍了PHP自定义递归函数实现数组转JSON功能,针对json_encode函数处理GBK编码中文出现乱码的情况,使用自定义函数进行数组递归遍历实现可兼容GBK编码的数组转json功能,需要的朋友可以参考下
一些表单验证需要返回json数据,php的json_encode函数只支持utf-8编码,无奈只得iconv了,需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数。 最开始的思路,将数组序列化后用iconv函数转换编码,之后再...
通过json_decode(json_encode($object)可以将对象一次性转换为数组,但是object中遇到非utf-8编码的非ascii字符则会出现问题,比如gbk的中文,何况json_encode和decode的性能也值得疑虑。下面上代码:复制代码 代码...
2、ajax的php处理页面里面利用json_encode()函数返回json数据,则数据库返回的数据只能是UTF8,如果是gbk则json也无法返回。 发现是数据库编码格式问题,网站使用的编码格式为UTF8,数据库的编码格式调为了UTF8,...
GBK 和 UTF-8 编码的转换是一个非常恶心的事情,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码。有两个库函数能够支持编码的转换,通常能够想到的就是 iconv 函数,使用起来也非常爽:
jsonEncode json编码(支持GBK) jsonDecode json解码(支持GBK) setEncoding 将字符串设置为指定编码 unicodeEncode Unicode编码 unicodeDecode Unicode解码 getIP 获取客户端IP地址 ajaxReturn Ajax信息反馈 trim_...