[請益] 在xampp下JSON會沒有回傳值

看板PHP作者 (焰離雨星)時間10年前 (2015/11/19 23:30), 10年前編輯推噓3(307)
留言10則, 5人參與, 最新討論串1/1
不好意思 不曉得如何在標題描述這個情況 在文章裡我會盡量寫清楚一點的 --- 一開始我是利用 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://www.ptt.cc/bbs/PHP/M.1447947038.A.188.html

11/19 23:35, , 1F
看看$_GET有沒有值?
11/19 23:35, 1F
$_GET應該是有值的 像那段網址 ?key=keyword 這邊的 keyword 就會讓 $_GET["key"] 取到值 再以 key 下去做後續處理 謝謝你

11/20 00:16, , 2F
會不會是json功能沒安裝
11/20 00:16, 2F
JSON 不是一種格式嗎? 還要另外裝 extension 支援? 我會找找看有沒有相關資料的 謝謝你

11/20 00:56, , 3F
抱歉,我是指phpjson support 有無開啟,或是PHP版本太舊
11/20 00:56, 3F

11/20 00:58, , 4F
http://goo.gl/1PL7dY 有沒有可能跟這個類似
11/20 00:58, 4F
是我會錯意了 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

11/20 01:29, , 5F
不曉得有沒有不需改來源資料編碼的方式?
11/20 01:29, 5F

11/20 01:33, , 6F
改csv成UTF8後 直接開啟反而在EXCEL裡顯示亂碼了...
11/20 01:33, 6F

11/20 02:27, , 7F
那是因為excel爛. 另開工作表然後從[資料]→[從文字檔]
11/20 02:27, 7F

11/20 02:27, , 8F
匯入才能正確顯示unicode
11/20 02:27, 8F

11/20 08:19, , 9F
暫時也只能這樣了 感謝樓上
11/20 08:19, 9F

11/20 19:35, , 10F
頭痛的編碼阿....
11/20 19:35, 10F
文章代碼(AID): #1MJUiU68 (PHP)
文章代碼(AID): #1MJUiU68 (PHP)