Maison  >  Article  >  développement back-end  >  Comment faire en sorte que json_encode n'échappe pas au chinois en PHP ?

Comment faire en sorte que json_encode n'échappe pas au chinois en PHP ?

Guanhui
Guanhuioriginal
2020-07-22 09:32:286696parcourir

Comment faire en sorte que json_encode n'échappe pas au chinois en PHP ?

Comment PHP fait-il pour que json_encode n'échappe pas au chinois ?

Comment faire en sorte que json_encode n'échappe pas au chinois en PHP : lorsque vous utilisez la fonction "json_encode()" pour l'encodage JSON, transmettez la constante "JSON_UNESCAPED_UNICODE" dans le deuxième paramètre, ce qui signifie un encodage littéral Multibyte Unicode personnages.

Exemple de code

$jsonStr = json_encode($data,JSON_UNESCAPED_UNICODE);

Constantes prédéfinies JSON

JSON_ERROR_NONE (entier)

Aucune erreur ne s'est produite. En vigueur à partir de PHP 5.3.0.

JSON_ERROR_DEPTH (entier)

Profondeur de pile maximale atteinte. En vigueur à partir de PHP 5.3.0.

JSON_ERROR_STATE_MISMATCH (entier)

Un dépassement inférieur ou une incompatibilité de modèle s'est produit. En vigueur à partir de PHP 5.3.0.

JSON_ERROR_CTRL_CHAR (entier)

Le caractère de contrôle est erroné, peut-être que l'encodage est erroné. En vigueur à partir de PHP 5.3.0.

JSON_ERROR_SYNTAX (entier)

Erreur de syntaxe. En vigueur à partir de PHP 5.3.0.

JSON_ERROR_UTF8 (entier)

Caractère UTF-8 exceptionnel, peut-être dû à un encodage incorrect. En vigueur depuis PHP 5.3.3.

JSON_ERROR_RECURSION (integer)

L'objet ou le tableau passé à json_encode() inclut des références récursives et ne peut pas être encodé. Si l'option JSON_PARTIAL_OUTPUT_ON_ERROR a été donnée, NULL sera codé à la place du récursif. référence. Disponible depuis PHP 5.5.0.

JSON_ERROR_INF_OR_NAN (entier)

La valeur passée à json_encode() inclut soit NAN, soit INF. Si l'option JSON_PARTIAL_OUTPUT_ON_ERROR a été donnée, 0 sera codé dans. à la place de ces numéros spéciaux Disponible depuis PHP 5.5.0.

JSON_ERROR_UNSUPPORTED_TYPE (integer)

Une valeur d'un type non pris en charge a été donnée à json_encode(), comme une ressource If. L'option JSON_PARTIAL_OUTPUT_ON_ERROR a été donnée, NULL sera codé à la place de la valeur non prise en charge. Disponible depuis PHP 5.5.0 transmis à json_decode() lors du décodage d'un objet JSON en objet PHP.

JSON_ERROR_UTF16 (integer)

Un seul substitut UTF-16 non apparié en échappement Unicode contenu dans la chaîne JSON passée à json_encode() Disponible depuis PHP 7.0.0.

Les constantes suivantes peuvent être. utilisé conjointement avec l'option de formulaire de json_decode().

JSON_BIGINT_AS_STRING (entier)

Encodez le grand nombre dans la valeur d'origine du caractère d'origine. En vigueur à partir de PHP 5.4.0.

JSON_OBJECT_AS_ARRAY (integer)

Décode les objets JSON sous forme de tableau PHP. Cette option peut être ajoutée automatiquement en appelant json_decode() avec le deuxième paramètre égal à TRUE Disponible depuis PHP 5.4.0.

Les constantes suivantes peuvent être utilisées conjointement avec l'option de formulaire de json_encode().

JSON_HEX_TAG (entier)

Tous les 16c874977c0ec376136df4dbc6fc1c03 sont convertis en u003C et u003E. En vigueur à partir de PHP 5.3.0.

JSON_HEX_AMP (entier)

Convertir tout & en u0026. En vigueur à partir de PHP 5.3.0.

JSON_HEX_APOS (entier)

Tous les 'convertis en u0027. En vigueur à partir de PHP 5.3.0.

JSON_HEX_QUOT (entier)

Convertir tout " en u0022. En vigueur depuis PHP 5.3.0.

JSON_FORCE_OBJECT (entier)

Active un tableau non associatif afficher une classe (Objet) au lieu d'un tableau. En vigueur depuis PHP 5.3.0 lorsque le tableau est vide et que le récepteur est attendu

JSON_NUMERIC_CHECK (entier)

Encoder toutes les chaînes numériques en nombres. . Effective depuis PHP 5.3.3

JSON_PRETTY_PRINT (entier)

Formatez les données renvoyées avec des caractères d'espacement. Valable depuis PHP 5.4.0

JSON_UNESCAPED_SLASHES (entier)

Ne pas encoder/. Valable depuis PHP 5.4.0

JSON_UNESCAPED_UNICODE (entier)

Encoder littéralement les caractères Unicode multi-octets (la valeur par défaut est l'encodage en uXXXX). .0

JSON_PARTIAL_OUTPUT_ON_ERROR (entier)

Remplacez certaines valeurs non codables au lieu d'échouer Disponible depuis PHP 5.5.0.

JSON_PRESERVE_ZERO_FRACTION (entier)

Garantit que les valeurs flottantes sont toujours codées comme une valeur flottante. )

Les terminateurs de ligne ne sont pas échappés lorsque JSON_UNESCAPED_UNICODE est fourni. Il utilise le même comportement qu'avant PHP 7.1 sans cette constante Disponible. depuis PHP 7.1.0.

Tutoriel recommandé :《

PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn