乐意黎在把数组json_encode转json的时候,输出一片空白,难道是数据量太大了?导致输出空白了?
研究了, 好久, 没发现问题. 开始怀疑是不是环境有问题, 但是经过验证后, 发现环境没任何问题.
后来检查下PHP程序似乎没有出错,就是json_encode的时候出现了问题,那到底是什么问题呢?
哪么, 只要是出在程序和编码方面的问题了.
情况如下:
首先, 页面编码 gbk, 获取的字符串编码也是 gbk.
其次, 程序如下.
//输出 正确
var_dump($ynqq_result);
//为空, 无任何输出
exit(json_encode($ynqq_result));
输出如图:
最后.
无意中, 想起, 或许是编码有问题.
于是, 开始转换编码.
1. 把页面编码转换成 utf-8, 数组字符串还是gbk, 验证, var_dump 乱码, json_encode 还是无输出.
2. 把页面编码转换成 utf-8, 数组字符串还是utf-8 , 验证, var_dump 正确, json_encode终于有输出了.
//转换如下
//www.aerchi.com
$item_title = trim(iconv('UTF-8//IGNORE','utf-8', $item_title));
.
原来是这样, 编码问题导致的.
设置页面编码
header("Content-type: text/html; charset=utf-8");
转换字符串编码
$item_title = trim(iconv('UTF-8//IGNORE','utf-8', $item_title));
相关资料.
json_encode这个函数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
注意:上面对参数明确说明(所有字符串数据的编码必须是 UTF-8)
这个函数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
大功造成, 标记一下.
乐意黎原创
2017-08-24