Maison > Article > développement back-end > Que faire si les données php json sont tronquées en chinois ?
Solution au problème chinois tronqué des données php json : 1. Ouvrez le fichier php correspondant ; 2. Ajoutez un paramètre "JSON_UNESCAPED_UNICODE" à la méthode "json_encode()" pour afficher le chinois normalement.
L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur DELL G3
Que dois-je faire si le problème chinois tronqué des données php json est causé ?
Résolvez le problème des caractères chinois tronqués après la conversion de php en json
:
Pour lire les données de la base de données en php, vous pouvez utiliser var_dump / print_r pour lire correctement les données chinoises, mais après la conversion au format json, les données chinoises devient tronqué Semblable à "u5c0fu660e" ;
Solution :
Ajoutez un paramètre supplémentaire JSON_UNESCAPED_UNICODE dans la méthode json_encode() ;
Pourquoi ajouter JSON_UNESCAPED_UNICODE , ma compréhension après la requête : json_encode dans
php sera encodé ; d lors du traitement Des données chinoises et une chaîne similaire à "u5c0fu660e" seront obtenues, ce qui rend la lecture des données peu pratique. Après avoir ajouté JSON_UNESCAPED_UNICODE, il n'est pas nécessaire de compiler le code chinois Unicode et la sortie normale chinoise
Code du problème :
//读取所有数据 public function SelectAll(){ $sql = 'SELECT * FROM `websql`'; mysqli_query($this->link,'set names utf8'); $results = mysqli_query($this->link, $sql); while($row = mysqli_fetch_assoc($results)){ array_push($this->cjarr,$row); } } public function a(){ print_r($this->cjarr);//未转json格式前 echo '<br><br>'; echo json_encode($this->cjarr);//转json格式后 }
Sortie du problème :
Code de la solution :
//读取所有数据 public function SelectAll(){ $sql = 'SELECT * FROM `websql`'; mysqli_query($this->link,'set names utf8'); $results = mysqli_query($this->link, $sql); while($row = mysqli_fetch_assoc($results)){ array_push($this->cjarr,$row); } //添加JSON_UNESCAPED_UNICODE 后解决该问题 $this->jsonCjarr = json_encode($this->cjarr,JSON_UNESCAPED_UNICODE); } public function a(){ print_r($this->cjarr);//未转json格式前 echo '<br><br>'; echo $this->jsonCjarr; //输出 }
Sortie après résolution du problème :
Apprentissage recommandé : "
Tutoriel vidéo PHPCe 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!