Maison > développement back-end > tutoriel php > Pourquoi certains caractères Unicode apparaissent-ils sous la forme de séquences « \u.... » dans JSON ?

Pourquoi certains caractères Unicode apparaissent-ils sous la forme de séquences « \u.... » dans JSON ?

Patricia Arquette
Libérer: 2024-12-19 19:30:11
original
968 Les gens l'ont consulté

Why Do Some Unicode Characters Appear as `u....` Sequences in JSON?

Pourquoi les caractères Unicode "spéciaux" apparaissent codés avec u.... Séquences en JSON

Lors de l'encodage de caractères Unicode "spéciaux" avec PHP json_encode, ils apparaissent souvent sous la forme de chaînes littérales inconnues préfixées par « u ». Ce comportement est inhérent au mécanisme de codage des caractères de JSON et n'indique aucune erreur de codage.

JSON permet aux caractères d'être représentés par des séquences d'échappement u...., où .... désigne le point de code Unicode du caractère. . Ceci est équivalent à la façon dont les chaînes littérales dans ECMAScript (JavaScript) sont formées.

Par exemple, le caractère "馬" peut être représenté par "馬" ou "u99ac" en JSON. Les deux littéraux représentent le même caractère et sont également valides. Lorsqu'ils sont analysés par un analyseur JSON conforme, ils produiront tous deux la même chaîne.

Par défaut, json_encode de PHP favorise les séquences d'échappement u.... pour les caractères non-ASCII. Cependant, vous pouvez remplacer cette préférence en spécifiant l'indicateur JSON_UNESCAPED_UNICODE dans PHP 5.4 ou version ultérieure. Cela entraînera une sortie JSON avec des caractères littéraux au lieu de séquences d'échappement :

json_encode(['foo' => '馬'], JSON_UNESCAPED_UNICODE); // Output: {"foo":"馬"}
Copier après la connexion

Il est important de noter que la spécification de JSON_UNESCAPED_UNICODE est une préférence personnelle et non une exigence pour le transport de caractères Unicode dans JSON. Les séquences d'échappement et les caractères littéraux sont également valables dans la représentation JSON.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal