Home >Backend Development >PHP Problem >How to convert php json to Chinese

How to convert php json to Chinese

藏色散人
藏色散人Original
2021-09-17 10:48:493494browse

php json Chinese conversion method: 1. Urlencode the Chinese field; 2. Use the json_encode function to encode; 3. Use urldecode to process the result.

How to convert php json to Chinese

The operating environment of this article: Windows7 system, PHP7.1 version, Dell G3 computer

How to convert php json to Chinese ? How does PHP convert Chinese json format strings normally?

How to convert json format strings, two functions are provided in the PHP manual:

json_encode: JSON for variables Encoding

json_decode: Encode a string in JSON format

Let’s look at an example:

 $arr = ['a', 'b', 'c'];echo json_encode($arr);

The output is:

["a","b","c"]

However, when we When Chinese characters are put into the array, a problem will arise:

 $arr = [    '世界',    '你好',];echo json_encode($arr);

The output result is:

["\u4e16\u754c","\u4f60\u597d"]

This result is obviously not what we want, but why does this happen? Because when our value contains Chinese, when PHP performs json encoding on it, the bottom layer will perform unicode encoding on the Chinese, causing the result to be unreadable.

So how to solve it?

Method 1

You can use the urlencode and urldecode methods to bypass the process of transcoding to unicode. First urlencode the Chinese field, then json_encode, and finally use urldecode to process the result, and it will work normally Display Chinese. The specific code is as follows:

 $arr = [    '世界',    '你好',];echo urldecode(json_encode(array_map('urlencode', $arr)));

The output result is:

["世界","你好"]

Method 2

Since PHP5.4 version, the official has added a new option to Json: JSON_UNESCAPED_UNICODE. After adding this option, Chinese will not be automatically encoded. The specific code is as follows:

 $arr = [    '世界',    '你好',];echo json_encode($arr, JSON_UNESCAPED_UNICODE);

The output is:

["世界","你好"]

Look, this is the result we want:)

Attention

requires our attention Unfortunately, since json_encode and json_decode only support UTF-8 encoded characters, gbk characters must be converted if you want to use the json function.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to convert php json to Chinese. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn