How to solve php json_encode garbled characters?

青灯夜游
Release: 2023-03-04 20:42:01
Original
2737 people have browsed it

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 ); // "中文"
Copy after login

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 ); // "中文"
Copy after login

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!

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
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!