[請益] Mysql資料庫讀出中文無法顯示(變成問號)

看板PHP作者 (最愛maki~!)時間14年前 (2011/08/11 18:38), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
又遇到了老問題亂碼 中文在網頁顯示時 都是??????????? 這是我架在租用server遇到的 我資料庫校對和表單以及欄位都設為utf8_general_ci mysql編碼也是utf-8 資料是用SQL檔導入的 SQL檔編碼是utf-8 在phpmyadmin中導入的中文顯示正常 在php這邊 直接用打echo 中文是正常的 但是讀取資料庫 顯示在網頁 中文都是?問號... 試過很多方法... 因為是租用server 沒辦法改php組態和mysql組態 但是設定應該是沒問題的... 請各位協助~~ PHP CODE: <?php header("Content-Type: text/html; charset=utf-8"); $con =mysql_connect("localhost","xxxx","xxxx"); mysql_select_db("db_test"); $q=mysql_query("SELECT * FROM poicomment where poiid=5732"); while($e=mysql_fetch_assoc($q)) $output[]=$e; print(json_encode($output)); mysql_close(); ?> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.14.212

08/11 19:52, , 1F
header有加?
08/11 19:52, 1F
header 有加沒加都試過了 我補一下我PHP程式 也試過 把DB資料強制轉為UTF8 mysql_select_db("lukang_test"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET NAMES utf8"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'"); 轉完 中文會變成 "9\u6240\u5dee\u7570\u3002\u7136" 這種代碼 似乎不是資料庫問題?? ※ 編輯: kevin8685 來自: 122.117.14.212 (08/11 20:00)

08/11 20:16, , 2F
json_encode會中文轉成\uxxxx的格式
08/11 20:16, 2F

08/11 20:17, , 3F
中文會
08/11 20:17, 3F

08/11 20:20, , 4F
如果php檔案中出現中文等非ascii,檔案需存成utf-8
08/11 20:20, 4F
我PHP檔案是設成 UFT8沒錯0.0 所以問題是再轉成JSON沒辦法支援中文? ※ 編輯: kevin8685 來自: 122.117.14.212 (08/11 20:24)

08/11 20:27, , 5F
我解決了0.0 原來一直都是JSON的問題
08/11 20:27, 5F
文章代碼(AID): #1EGx4nDD (PHP)
文章代碼(AID): #1EGx4nDD (PHP)