How to convert php json to Chinese

藏色散人
Release: 2023-03-12 16:32:01
Original
3447 people have browsed it

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);
Copy after login

The output is:

["a","b","c"]
Copy after login

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

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

The output result is:

["\u4e16\u754c","\u4f60\u597d"]
Copy after login

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)));
Copy after login

The output result is:

["世界","你好"]
Copy after login
Copy after login

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);
Copy after login

The output is:

["世界","你好"]
Copy after login
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template