Maison >développement back-end >Problème PHP >Comment résoudre le problème tronqué du chinois json php
Solution au code tronqué chinois json php : 1. Assurez-vous que les encodages de la base de données et des pages PHP front-end et back-end sont cohérents ; 2. Configurez et utilisez la fonction PHP urlencode et la fonction JS decodeURI ; Utilisez la fonction de conversion d'encodage de chaîne "iconv".
L'environnement de cet article : système Windows 7, PHP7.1, ordinateur Dell G3.
Recommandé : "Tutoriel vidéo PHP"
Solution complète au code PHP JSON tronqué en chinois
Nous savons que nous sommes utilisant la technologie Ajax Lors de l'interaction avec le backend PHP, les caractères chinois tronqués sont courants. Comme JSON est un format d'échange de données similaire à XML, les caractères chinois tronqués apparaîtront également lorsque PHP est utilisé pour l'interaction. en fait la même chose que PHP La solution aux caractères chinois tronqués dans le transfert de valeur Ajax est similaire Ci-dessous, je présenterai en détail la méthode pour résoudre le problème des caractères chinois tronqués dans PHP JSON sous la forme d'un tutoriel.
Pourquoi du code chinois tronqué apparaît-il lorsque PHP interagit avec JSON ?
Puisque JSON est identique à JS, les caractères sur le client sont traités sous forme UTF8, c'est-à-dire que les caractères renvoyés par la soumission ou l'acceptation JSON sont traités sous forme UTF8 lors de l'interaction avec PHP. , si l'encodage de la base de données et l'encodage des pages PHP Lorsque le format UTF8 n'est pas utilisé, les caractères chinois seront tronqués lorsque PHP interagit avec JSON.
Comment résoudre le code chinois tronqué en PHP JSON
Après avoir connu la raison pour laquelle l'interaction entre PHP et JSON produit du code chinois tronqué, la solution est en réalité beaucoup plus simple .
Méthode 1 pour résoudre le PHP JSON tronqué en chinois : Assurez-vous que l'encodage de la base de données et des pages PHP front-end et back-end est cohérent
Le moyen le plus simple de résoudre le PHP JSON tronqué en chinois est de garantir l'encodage de la base de données, l'encodage des pages PHP utilise uniformément le format UTF8. Pour les débutants en PHP, 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 beaucoup de problèmes.
Deuxième méthode pour résoudre le PHP JSON tronqué en chinois : Configurer et utiliser la fonction PHP urlencode et la fonction JS decodeURI()
Lorsque PHP utilise JSON pour interagir avec le front-end JS, utilisez json_encode Avant la fonction, vous devez utiliser la fonction urlencode pour encoder l'URL. Le client JS utilise la fonction JS decodeURI() pour décoder l'URL avant de 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. .
Troisième méthode pour résoudre le PHP JSON tronqué en chinois : 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, telles que existant L'encodage de la base de données utilise GB2312. Lorsque vous interagissez avec JSON, 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, lorsque vous rencontrez des interactions entre PHP et AJAX/JS et générez des caractères chinois tronqués, ces méthodes sont essentiellement. utilisé. L’idée est similaire.
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!