最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php json_encode utf-8中文问题
时间:2014-01-07 编辑:简简单单 来源:一聚教程网
utf-8字符json_encode为变成转成utf16编码,也就是介个样子:
代码如下 | 复制代码 |
$ ./php/bin/php -r 'echo json_encode("中文");' |
可读性降低,最新的php 5.4的json_encode支持了UTF-8编码,可以把中文不编码直接输出。
那低版本怎么办呢?也有办法,封装成一个函数给大家分享一下:
代码如下 | 复制代码 |
function my_json_encode($var) { |
例,利用另一种办法来解决
后台PHP页面(页面编码为UTF-8或者已经把字符转为UTF-8)使用json_encode将PHP中的array数组转为JSON字符串。例如:
代码如下 | 复制代码 |
$testJSON=array('name'=>'中文字符串','value'=>'test'); 查看输出结果为: |
可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:
代码如下 | 复制代码 |
$testJSON=array('name'=>'中文字符串','value'=>'www.111com.net''); 查看输出结果为: {“name”:”中文字符串”,”value”:”www.111com.net”} |
到此,成功地输出了中文字符
相关文章
- php高版本JSON_UNESCAPED_UNICODE解决json中文问题 04-27
- php5.4中JSON_UNESCAPED_UNICODE让Json更懂中文 02-08
- php中json_encode格式中文问题解决方法 08-28
- PHP导出数据超时的优化建议解读 10-31
- PHP之mysql位运算解析 10-31
- Laravel实现登录跳转功能解析 10-31