作者flirmnave (焰离雨星)
看板PHP
标题[请益] 在xampp下JSON会没有回传值
时间Thu Nov 19 23:30:36 2015
不好意思 不晓得如何在标题描述这个情况
在文章里我会尽量写清楚一点的
---
一开始我是利用 xampp 来建制环境
然後用 PHP 到 csv档 捞资料传 JSON 给网页
大致的 PHP程式 如下
<?php
$key = strtolower($_GET["key"]);
if ($key == "") return;
//Do Something
$json_obj["List"] = $json_arr;
$json_str = json_encode($json_obj);
echo "$json_str";
?>
而为了测试 则直接先用网址的方法送 key 给 PHP 取资料
h ttp://127.0.0.1/search.php?key=keyword
但发现载入後整个页面是空白的 似乎 PHP 完全没有执行
用 Chrome 开 开发工具 去看好像也没有错误讯息
不晓得会不会是我看的方法错误?
本来有想过会不会是捞的资料里有中文的关系
但是把捞中文的地方去掉还是一样的状况
---
在网路上找了很久 不知道该用什麽关键字去找
後来换了个环境
发现同一支 PHP 在 Appserv 还有 Microsoft WebMatrix
是可以正常执行的...
直接用上面网址传值进去的方式也正常
(正常执行指的是从 网页端 传值到 PHP 再到捞回资料 完全没有问题
HTML PHP CSV完全没有变动)
想问问各位有没有碰过这个情况呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.42.1.252
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1447947038.A.188.html
1F:推 lvlightvivi: 看看$_GET有没有值? 11/19 23:35
$_GET应该是有值的 像那段网址 ?key=keyword
这边的 keyword 就会让 $_GET["key"] 取到值
再以 key 下去做後续处理
谢谢你
2F:推 zx4109: 会不会是json功能没安装 11/20 00:16
JSON 不是一种格式吗? 还要另外装 extension 支援?
我会找找看有没有相关资料的 谢谢你
3F:→ zx4109: 抱歉,我是指phpjson support 有无开启,或是PHP版本太旧 11/20 00:56
是我会错意了 Xampp 我是用官网最新版 照他的说明 PHP 应该是 5.6.14
应该不会是PHP版本太旧
---
至於 PHP json support 找不到哪里可以查
但我有用一个小PHP试试看
<?php
$json_obj = array ("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);
$json_str = json_encode($json_obj);
echo "$json_str";
?>
直接执行以後 网页显示
{"a":1,"b":2,"c":3,"d":4,"e":5}
这表示是有成功的吧?
---
那篇文章我也有看到 但他是要抓取 mysql 资料出问题的
我是直接将资料放在 csv 去读 也有试着先把抓中文的地方去掉
应该不会遇到同样的问题
※ 编辑: flirmnave (114.42.1.252), 11/20/2015 01:18:31
感谢 zx4109 提到那篇 重看一遍得到灵感
将资料来源 csv 改成 UTF8格式 就可以了
然而此时显示的中文会是 \u6797 这样的
照着那篇 将
$json_str = json_encode($json_obj);
换成
$json_str = json_encode($json_obj,JSON_UNESCAPED_UNICODE);
这样可以正常显示中文了
---
所以是编码的问题
不晓得为什麽 Appserv 和 Microsoft WebMatrix 没有这个问题...
感谢热心回答的两位!!
※ 编辑: flirmnave (114.42.1.252), 11/20/2015 01:27:15
5F:→ flirmnave: 不晓得有没有不需改来源资料编码的方式? 11/20 01:29
6F:→ flirmnave: 改csv成UTF8後 直接开启反而在EXCEL里显示乱码了... 11/20 01:33
7F:→ bibo9901: 那是因为excel烂. 另开工作表然後从[资料]→[从文字档] 11/20 02:27
8F:→ bibo9901: 汇入才能正确显示unicode 11/20 02:27
9F:→ flirmnave: 暂时也只能这样了 感谢楼上 11/20 08:19
10F:推 yongb: 头痛的编码阿.... 11/20 19:35