PHP使用json中文乱码解决方法实例讲解
程序员文章站
2022-04-30 18:14:49
...
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中文编码问题。
推荐阅读
-
php写入mysql中文乱码的实例解决方法
-
探讨PHP JSON中文乱码的解决方法详解
-
PHP使用json_encode函数时不转义中文的解决方法
-
PHP使用Get变量获取中文乱码的解决方法
-
php中json_encode UTF-8中文乱码的更好解决方法,
-
php json_encode()函数中文编码乱码解决方法_PHP教程
-
使用MySql和php出现中文乱码的解决方法_MySQL
-
PHP使用json_encode函数时不转义中文的解决方法,_PHP教程
-
PHP读取mssql json数据中文乱码的解决办法_php实例
-
php中json_encode处理gbk与gb2312中文乱码问题的解决方法