php json データの中国語文字化けの解決策: 1. 対応する php ファイルを開きます; 2. 中国語を正常に出力するには、「json_encode()」メソッドにパラメータ「JSON_UNESCAPED_UNICODE」を追加します。
このチュートリアルの動作環境: Windows 10 システム、PHP バージョン 8.1、DELL G3 コンピューター
php jsonデータ 中国語 コード文字化けの問題はどうすればよいですか?
php を json に変換した後の中国語文字化けの解決策
問題:
php でデータベース データを読み取るには、var_dump / print_r を使用して正しく読み取ることができます。中国語データですが、json 形式に変換すると、中国語データは "\u5c0f\u660e" のように文字化けします;
解決策:
json_encode()メソッド JSON_UNESCAPED_UNICODE; パラメータをもう 1 つ追加します。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 '<br><br>'; echo json_encode($this->cjarr);//转json格式后 }
問題出力:
解決策コード://读取所有数据 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; //输出 }問題解決後の出力: 推奨される学習: 「
PHP ビデオ チュートリアル
」以上がPHPのJSONデータが中国語で文字化けした場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。