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

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格式后,中文数据就变成乱码了类似于 "u5c0fu660e";

解决方法:

在json_encode()方法中添加多一个参数JSON_UNESCAPED_UNICODE;

例如:json_encode($this->cjarr,JSON_UNESCAPED_UNICODE);

为什么要加JSON_UNESCAPED_UNICODE,查询后我的理解:

php中的json_encode在处理中文数据时会进行编码,得到类似于 "u5c0fu660e" 的字符串,使得读取数据不便,添加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格式后
        }

登录后复制

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php json数据中文乱码问题怎么办
温馨提示您:本站所载文章、数据仅供参考,如果有文章侵犯了您的权益,请来信告知我们删除,联系邮箱:976157886@qq.com
Copyright © 2023 自学咖网 - All rights reserved 浙ICP备2023005527号