How to deal with the situation where JSON data in PHP displays Chinese garbled characters?
In PHP development, we often encounter the situation of processing JSON data. However, sometimes we may encounter the problem of garbled Chinese characters in JSON data. This situation is very common, but it can be solved with some simple methods. The following will introduce how to deal with the situation where JSON data in PHP displays Chinese garbled characters, and attach specific code examples.
First, make sure to set the correct response headers before outputting JSON data. In PHP, you can use the header
function to set response headers.
header('Content-Type: application/json; charset=utf-8');
The above code will tell the browser that the returned content is in JSON format and uses UTF-8 encoding. This ensures that Chinese characters are displayed correctly.
When converting data to a JSON string, use the json_encode
function and specify the JSON_UNESCAPED_UNICODE
flag parameter.
$data = ['name' => '张三', 'age' => 25]; $json = json_encode($data, JSON_UNESCAPED_UNICODE);
By specifying the JSON_UNESCAPED_UNICODE
parameter, you can ensure that Chinese characters will not be escaped, thereby avoiding the problem of Chinese garbled characters.
If the Chinese garbled problem still occurs when converting JSON data, you can try to use the mb_convert_encoding
function to convert the data encoding.
$data = ['name' => '李四', 'age' => 30]; $json = json_encode($data); // 将 JSON 数据从 UTF-8 转换为 GBK 编码 $json = mb_convert_encoding($json, 'GBK', 'UTF-8');
The above code will use the mb_convert_encoding
function to convert JSON data from UTF-8 encoding to GBK encoding. You can choose different encodings for conversion according to the actual situation.
Through the above methods, we can effectively handle the situation where JSON data in PHP displays Chinese garbled characters and ensure that Chinese characters can be displayed correctly in JSON data. Hope the above method is helpful to you.
The above is the detailed content of How to deal with the situation where JSON data in PHP displays Chinese garbled characters?. For more information, please follow other related articles on the PHP Chinese website!