Home > Backend Development > PHP Problem > How to make json_encode not escape Chinese in PHP?

How to make json_encode not escape Chinese in PHP?

Guanhui
Release: 2023-03-02 20:28:01
Original
6810 people have browsed it

How to make json_encode not escape Chinese in PHP?

#PHP How to make json_encode not escape Chinese?

PHP method to make json_encode not escape Chinese: When using the "json_encode()" function to perform JSON encoding, pass in the constant "JSON_UNESCAPED_UNICODE" in the second parameter, which means literal encoding Multibyte Unicode characters.

Code Example

$jsonStr = json_encode($data,JSON_UNESCAPED_UNICODE);
Copy after login

JSON Predefined Constants

JSON_ERROR_NONE (integer)

No error occurred. Effective as of PHP 5.3.0.

JSON_ERROR_DEPTH (integer)

The maximum stack depth has been reached. Effective as of PHP 5.3.0.

JSON_ERROR_STATE_MISMATCH (integer)

An underflow or pattern mismatch occurred. Effective as of PHP 5.3.0.

JSON_ERROR_CTRL_CHAR (integer)

The control character is wrong, maybe the encoding is wrong. Effective as of PHP 5.3.0.

JSON_ERROR_SYNTAX (integer)

Syntax error. Effective as of PHP 5.3.0.

JSON_ERROR_UTF8 (integer)

Exceptional UTF-8 character, perhaps due to incorrect encoding. Effective since PHP 5.3.3.

JSON_ERROR_RECURSION (integer)

The object or array passed to json_encode() include recursive references and cannot be encoded. If the JSON_PARTIAL_OUTPUT_ON_ERROR option was given, NULL will be encoded in the place of the recursive reference. Available since PHP 5.5.0.

JSON_ERROR_INF_OR_NAN (integer)

The value passed to json_encode() includes either NAN or INF. If the JSON_PARTIAL_OUTPUT_ON_ERROR option was given, 0 will be encoded in the place of these special numbers. Available since PHP 5.5.0.

JSON_ERROR_UNSUPPORTED_TYPE (integer)

A value of an unsupported type was given to json_encode(), such as a resource. If the JSON_PARTIAL_OUTPUT_ON_ERROR option was given, NULL will be encoded in the place of the unsupported value. Available since PHP 5.5.0.

JSON_ERROR_INVALID_PROPERTY_NAME (integer)

A key starting with \u0000 character was in the string passed to json_decode() when decoding a JSON object into a PHP object. Available since PHP 7.0.0.

JSON_ERROR_UTF16 (integer)

Single unpaired UTF-16 surrogate in unicode escape contained in the JSON string passed to json_encode(). Available since PHP 7.0.0.

The following constants can be used in conjunction with the form option of json_decode().

JSON_BIGINT_AS_STRING (integer)

Encode the large number into the original value of the original character. Effective as of PHP 5.4.0.

JSON_OBJECT_AS_ARRAY (integer)

Decodes JSON objects as PHP array. This option can be added automatically by calling json_decode() with the second parameter equal to TRUE. Available since PHP 5.4.0.

The following constants can be used in conjunction with the form option of json_encode().

JSON_HEX_TAG (integer)

All < and > are converted to \u003C and \u003E. Effective as of PHP 5.3.0.

JSON_HEX_AMP (integer)

All &s are converted to \u0026. Effective as of PHP 5.3.0.

JSON_HEX_APOS (integer)

All ' are converted to \u0027. Effective as of PHP 5.3.0.

JSON_HEX_QUOT (integer)

Convert all " to \u0022. Effective since PHP 5.3.0.

JSON_FORCE_OBJECT (integer)

Enable a Non-associative arrays output a class (Object) instead of an array. This is especially useful when the array is empty and the receiver expects a class (Object). Effective since PHP 5.3.0.

JSON_NUMERIC_CHECK (integer)

Encode all numeric strings into numbers. Effective since PHP 5.3.3.

JSON_PRETTY_PRINT (integer)

Format the returned data with whitespace characters. Valid as of PHP 5.4.0.

JSON_UNESCAPED_SLASHES (integer)

Do not encode/. Valid as of PHP 5.4.0.

JSON_UNESCAPED_UNICODE (integer)

Encode multi-byte Unicode characters literally (default is encoded as \uXXXX). Effective since PHP 5.4.0.

JSON_PARTIAL_OUTPUT_ON_ERROR (integer)

Substitute some unencodable values ​​instead of failing Available since PHP 5.5.0.

JSON_PRESERVE_ZERO_FRACTION (integer)

Ensures that float values ​​are always encoded as a float value. Available since PHP 5.6.6.

JSON_UNESCAPED_LINE_TERMINATORS (integer)

The line terminators are kept unescaped when JSON_UNESCAPED_UNICODE is supplied. It uses the same behavior as it was before PHP 7.1 without this constant. Available since PHP 7.1.0.

Recommended Tutorial :《PHP

The above is the detailed content of How to make json_encode not escape Chinese in PHP?. 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