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

藏色散人
发布: 2023-02-03 11:14:11
原创
4592人浏览过
php json数据中文乱码问题的解决办法:1、打开相应的php文件;2、在“json_encode()”方法中添加一个参数“JSON_UNESCAPED_UNICODE”即可正常输出中文。

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

本教程操作环境:Windows10系统、PHP8.1版、DELL G3电脑

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

解决php转json后的中文乱码

问题:

立即学习PHP免费学习笔记(深入)”;

在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格式后
        }
登录后复制

 问题输出:

521614c94a73b30ce9df2872b56f4cb.jpg

 解决问题代码:

//读取所有数据
        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; //输出
        }
登录后复制

解决问题后输出:

6cfedffa3aaa79d9125b0a8ba3cc0f5.jpg

推荐学习:《PHP视频教程

以上就是php json数据中文乱码问题怎么办的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号