您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 松原分类信息网,免费分类信息发布

php json数据中文乱码问题怎么办

2024/5/31 4:19:52发布58次查看
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,正常输出中文
问题代码:
//读取所有数据 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数据中文乱码问题怎么办的详细内容。
松原分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录