Maison  >  Article  >  développement back-end  >  Que faire si les données php json sont tronquées en chinois ?

Que faire si les données php json sont tronquées en chinois ?

藏色散人
藏色散人original
2023-02-03 11:14:114232parcourir

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.

Que faire si les données php json sont tronquées en chinois ?

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 &#39;<br><br>&#39;;
            echo json_encode($this->cjarr);//转json格式后
        }

Sortie du problème :

Que faire si les données php json sont tronquées en chinois ? Code de la solution :

//读取所有数据
        public function SelectAll(){
             $sql = &#39;SELECT * FROM `websql`&#39;;
             mysqli_query($this->link,&#39;set names utf8&#39;);
             $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 &#39;<br><br>&#39;;
            echo $this->jsonCjarr; //输出
        }

Sortie après résolution du problème :

Que faire si les données php json sont tronquées en chinois ? 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!

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