php json数据中文乱码问题怎么办
时间:2023-02-03 11:14
php json数据中文乱码问题的解决办法:1、打开相应的php文件;2、在“json_encode()”方法中添加一个参数“JSON_UNESCAPED_UNICODE”即可正常输出中文。 本教程操作环境: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); 为什么要加JSON_UNESCAPED_UNICODE,查询后我的理解: php中的json_encode在处理中文数据时会进行编码,得到类似于 "\u5c0f\u660e" 的字符串,使得读取数据不便,添加JSON_UNESCAPED_UNICODE后就不用编译中文码 Unicode,正常输出中文 问题代码: 问题输出: 解决问题代码: 解决问题后输出: 推荐学习:《PHP视频教程》 以上就是php json数据中文乱码问题怎么办的详细内容,更多请关注gxlsystem.com其它相关文章!//读取所有数据
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; //输出
}