PHP使用json中文乱码解决方法实例讲解
程序员文章站
2024-02-10 18:10:22
...
php中常用的两个函数 encode_json()和decode_json() ;
我们重点说一下encode_json()函数在进行中文编码时出现乱码的解决方法。
首先,我们写出所需要的数组:
$json = array (
0 =>
array (
id => 13,
name => 乒乓球,
),
1 =>
array (
id => 17,
name => 篮球,
)
)
?>
如果我们直接用encode_json进行编码的话,输出结果是:
[{"id":"13","name":null}
,{"id":"13","name":null}]
?>
很明显,中文字符没有编码正确。这是因为json仅仅转义encoding编码,
(假设我们后台文件用的是gb2312编码)故上面语句应该先转换编码:
foreach ($ajax as $key=>$val)
{
$ajax[$key][name] =
urlencode($val[name]);
}
echo json_encode($json);
?>
同理,在客户端js代码中队已经编码的中文进行decodeURI()解码即可。
至此,解决php中json中文编码问题。
我们重点说一下encode_json()函数在进行中文编码时出现乱码的解决方法。
首先,我们写出所需要的数组:
$json = array (
0 =>
array (
id => 13,
name => 乒乓球,
),
1 =>
array (
id => 17,
name => 篮球,
)
)
?>
如果我们直接用encode_json进行编码的话,输出结果是:
[{"id":"13","name":null}
,{"id":"13","name":null}]
?>
很明显,中文字符没有编码正确。这是因为json仅仅转义encoding编码,
(假设我们后台文件用的是gb2312编码)故上面语句应该先转换编码:
foreach ($ajax as $key=>$val)
{
$ajax[$key][name] =
urlencode($val[name]);
}
echo json_encode($json);
?>
同理,在客户端js代码中队已经编码的中文进行decodeURI()解码即可。
至此,解决php中json中文编码问题。
下一篇: 懂xdebug配置的进来看上
推荐阅读
-
PHP使用json中文乱码解决方法实例讲解
-
PHP使用json_encode函数时不转义中文的解决方法,
-
php中json_encode UTF-8中文乱码的更好解决方法,
-
php中json_encode UTF-8中文乱码的解决方法
-
php中json_encode UTF-8中文乱码的更好解决方法
-
PHP使用strrev翻转中文乱码问题的解决方法
-
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
-
PHP使用json_encode函数时不转义中文的解决方法
-
php使用json_encode后出现中文乱码的解决方法
-
PHP中使用file_get_contents抓取网页中文乱码问题解决方法