使用 json_encode对数组加密后,输出的汉字部分是空的,怎么回事了?使用 json_encode对数组加密后,输出的汉字部分是空的,怎么回事了? 各位大侠们,有没有好的解决方案? 急救 解决办法 你原始的数据是gbk的,这是不能被 json_encode 所接受的 json_encode 只接受 utf-8 编码的数据,于是 gbk 汉字因不能识别而丢弃 只有
各位大侠们,有没有好的解决方案? 急救
解决办法
你原始的数据是gbk的,这是不能被 json_encode 所接受的json_encode 只接受 utf-8 编码的数据,于是 gbk 汉字因不能识别而丢弃
只有少量的字符组合被错误的解释为 utf-8 双字节字符而被保留了下来,造成了你的疑惑不解,要是一个都不剩的话,反倒使事情明朗化了
所以如果你需要产生 json 的话需要做一下编码转换
php">array_walk_recursive($ar, function(&$s) { $s = iconv('gbk', 'utf-8', $s); });
如果数据是从 mysql 读取的,那么只需在读取前执行一次
mysql_query('set names utf8');
就完事大吉了
沃梦达教程
本文标题为:php使用json_encode gbk编码汉字显示不出来怎么解决
基础教程推荐
猜你喜欢
- PHP 守护进程/worker 环境 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01