Two commonly used functions in php: encode_json () and decode_json ();
We will focus on the solution for garbled characters in the encode_json () function during Chinese encoding.
First, we will write out the required array:
<? Php
$ Json = array (
0 =>
Array (
Id => 13,
Name => table tennis,
),
1 =>
Array (
Id => 17,
Name => basketball,
)
)
?>
If we use encode_json for encoding, the output result is:
<? Php
[{"Id": "13", "name": null}
, {"Id": "13", "name": null}]
?>
Obviously, Chinese characters are not correctly encoded. This is because json only escapes the encoding,
(Assume that the background file uses gb2312 encoding.) Therefore, the above statement should first convert the encoding:
Foreach ($ ajax as $ key => $ val)
{
$ Ajax [$ key] [name] =
Urlencode ($ val [name]);
}
Echo json_encode ($ json );
?>
Similarly, decodeURI () can be decoded in the Chinese characters that have been encoded by the js Code squadron on the client.
This solves the json Chinese encoding problem in php.