Home >Backend Development >PHP Problem >How to solve php json_encode garbled characters?

How to solve php json_encode garbled characters?

青灯夜游
青灯夜游Original
2020-08-20 10:59:282833browse

Solution: 1. Set the value of the second parameter of json_encode() to "JSON_UNESCAPED_UNICODE"; 2. First transcode the text with urlencode, then use json_encode() to encode, and then perform urldecode decoding. Can.

How to solve php json_encode garbled characters?

Recommended: "PHP Video Tutorial"

json_encode() is used to JSON encode variables; if successful Returns a JSON encoded string, or FALSE on failure.

In the encoding process, json_encode is often used to process Chinese. However, there is a problem. Chinese will be transcoded and changed into the format of "\u****". How to avoid being transcoded? , What about garbled codes?

Method 1: PHP version is 5.4 or above;

echo json_encode( '中文' );     // "\u4e2d\u6587"
echo json_encode( '中文', JSON_UNESCAPED_UNICODE ); // "中文"

Instructions:

Syntax: json_encode ( $value [, $options = 0 ] )

1. $value is the value to be encoded, and this function is only valid for UTF8 encoded data;

2. options: binary composed of the following constants Masks:

JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED _UNICODE, JSON_PARTIAL_OUTPUT_ON_ERROR.

3. The second parameter is generally not needed;

4. JSON data is actually a string, which can be printed out with var_dump() to see the data type;

5. Return JSON data if the execution is successful, otherwise return FALSE.

Method 2: First transcode the Chinese characters urlencode, in json_encode; then urldecode decode;

echo $con = '中文'; // 中文
echo $con = urlencode( $con ); // %E4%B8%AD%E6%96%87"
echo $con = json_encode( $con ); // %E4%B8%AD%E6%96%87"
echo $con = urldecode( $con ); // "中文"

For more programming-related knowledge, please visit:Introduction to Programming ! !

The above is the detailed content of How to solve php json_encode garbled characters?. 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
Previous article:How to install php5.5Next article:How to install php5.5