Solution au code tronqué soumis par php josn : 1. Assurez-vous que l'encodage de la base de données et les pages PHP recto et verso sont cohérents ; 2. Configurez et utilisez la fonction urlencode ; 3. Utilisez la fonction de conversion d'encodage de chaîne.
L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3
Comment résoudre le problème du code tronqué soumis par php josn ?
Nous savons que lors de l'utilisation de la technologie Ajax pour interagir avec le backend PHP, les caractères chinois tronqués sont courants. JSON, en tant que format d'échange de données similaire à XML, provoquera également des caractères chinois tronqués lorsque PHP est utilisé pour interagir. La méthode de résolution du JSON chinois tronqué est en fait similaire à la méthode de résolution des caractères chinois tronqués dans le transfert de valeur PHP Ajax. Ci-dessous, je présenterai en détail la méthode de résolution du chinois tronqué PHP JSON sous la forme d'un didacticiel.
Pourquoi des caractères chinois tronqués apparaissent-ils lorsque PHP interagit avec JSON ?
Étant donné que JSON est identique à JS, les caractères sur le client sont traités sous forme d'UTF8, c'est-à-dire que les caractères renvoyés par la soumission ou l'acceptation de JSON sont traités sous forme d'UTF8 lors de l'interaction avec PHP, si le. l'encodage de la base de données et l'encodage des pages PHP n'utilisent pas le format UTF8, les caractères chinois seront tronqués lorsque PHP interagit avec JSON.
Méthodes pour résoudre les caractères chinois tronqués dans PHP JSON
Après avoir connu les raisons pour lesquelles l'interaction entre PHP et JSON produit des caractères chinois tronqués, la solution est en réalité beaucoup plus simple.
Méthode 1 pour résoudre le code chinois tronqué en PHP JSON :
Assurez-vous que la base de données et les encodages des pages PHP front-end et back-end sont cohérents
Le moyen le plus simple de résoudre le code PHP JSON tronqué en chinois est de s'assurer que l'encodage de la base de données et l'encodage des pages PHP sont uniformément au format UTF8. Pour les débutants en PHP. Pour les apprenants, il est préférable d'utiliser le format UTF8 pour la base de données lors de la création d'un site Web, ce qui peut réduire bien des problèmes.
Solution à la deuxième méthode tronquée du chinois PHP JSON :
Configurez et utilisez la fonction PHP urlencode et la fonction JS decodeURI()
Lorsque PHP utilise JSON pour interagir avec le JS frontal, vous devez utiliser la fonction urlencode pour l'URL encodage avant d'utiliser la fonction json_encode. En JS Le client utilise la fonction JS decodeURI() pour décoder l'URL puis lire les informations chinoises.
Remarque : lorsque vous interagissez via JSON dans une page PHP, par exemple lors de la conversion d'un tableau au format JSON, utilisez d'abord la fonction urlencode pour encoder en URL la clé et la valeur du tableau, puis utilisez la fonction json_encode et la fonction urldecode.
Trois méthodes pour résoudre le code tronqué chinois PHP JSON :
Utilisez la fonction de conversion d'encodage de chaîne
Lorsque l'encodage de la base de données et l'encodage de la page PHP sont incohérents pour diverses raisons, par exemple, l'encodage de la base de données existante utilise GB2312, utilisez l'interaction JSON Lorsque vous devez utiliser la fonction de conversion d’encodage de chaîne pour convertir entre les jeux de caractères. Les fonctions couramment utilisées incluent iconv. Étant donné qu'iconv nécessite la prise en charge de l'environnement de configuration PHP, s'il n'est pas pris en charge, vous pouvez implémenter la conversion d'encodage en écrivant vos propres fonctions de conversion d'encodage gbk et UTF8.
À ce stade, les trois solutions aux caractères chinois tronqués dans PHP JSON ont été introduites. En fait, dans le développement PHP, lors des interactions entre PHP et AJAX/JS, ces méthodes sont essentiellement utilisées lorsque des caractères chinois tronqués sont générés. les idées sont similaires.
Apprentissage recommandé : "Tutoriel vidéo 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!