作者kevin8685 (最愛maki~!)
看板PHP
標題[請益] Mysql資料庫讀出中文無法顯示(變成問號)
時間Thu Aug 11 18:38:37 2011
又遇到了老問題亂碼
中文在網頁顯示時 都是???????????
這是我架在租用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
1F:→ qwertmn:header有加? 08/11 19:52
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)
2F:推 emn178:json_encode會中文轉成\uxxxx的格式 08/11 20:16
3F:→ emn178: 中文會 08/11 20:17
4F:→ emn178:如果php檔案中出現中文等非ascii,檔案需存成utf-8 08/11 20:20
我PHP檔案是設成 UFT8沒錯0.0
所以問題是再轉成JSON沒辦法支援中文?
※ 編輯: kevin8685 來自: 122.117.14.212 (08/11 20:24)
5F:→ kevin8685:我解決了0.0 原來一直都是JSON的問題 08/11 20:27