首頁  >  文章  >  後端開發  >  php json資料中文亂碼問題怎麼辦

php json資料中文亂碼問題怎麼辦

藏色散人
藏色散人原創
2023-02-03 11:14:114221瀏覽

php json資料中文亂碼問題的解決方法:1、開啟對應的php檔案;2、在「json_encode()」方法中加入一個參數「JSON_UNESCAPED_UNICODE」即可正常輸出中文。

php json資料中文亂碼問題怎麼辦

本教學操作環境:Windows10系統、PHP8.1版、DELL G3電腦

php json資料中文亂碼問題怎麼辦?

解決php轉json後的中文亂碼

問題:

#在php中讀取資料庫的數據,可以用var_dump  /  print_r  正確讀取中文數據,但是轉了json格式後,中文資料就變成亂碼了類似"\u5c0f\u660e";

解決方法:

在json_encode()方法中加入多一個參數JSON_UNESCAPED_UNICODE;               

 例如:json_encode($this->cjarr,JSON_UNESCAPED_UNICODE);##ICO#BICO#MID php中的json_encode在處理中文資料時會進行編碼,得到類似"\u5c0f\u660e" 的字串,使得讀取資料不方便,加入JSON_UNESCAPED_UNICODE後就不用編譯中文碼Unicode,正常輸出中文

問題代碼:

//读取所有数据
        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格式后
        }

 問題輸出:

# 解決問題代碼:

//读取所有数据
        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; //输出
        }
php json資料中文亂碼問題怎麼辦解決問題後輸出:

#推薦學習:《

PHP影片教學php json資料中文亂碼問題怎麼辦

以上是php json資料中文亂碼問題怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn