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 형식으로 변환한 후에는 중국어 데이터가 "u5c0fu660e"와 유사합니다.
해결책:
json_encode() 메서드에 JSON_UNESCAPED_UNICODE 매개 변수를 하나 더 추가합니다. ;
JSON_UNESCAPED_UNICODE를 추가하는 이유는 쿼리 후:
php의 json_encode는 다음과 같습니다. 처리할 때 인코딩됨 중국어 데이터와 "u5c0fu660e"와 유사한 문자열이 얻어지므로 데이터를 읽기가 불편합니다. JSON_UNESCAPED_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 Video Tutorial위 내용은 PHP json 데이터가 중국어로 왜곡되면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!