作者rainyuhtree (ianyu)
看板PHP
標題[請益] 資料庫輸出是亂碼
時間Wed Apr 13 19:50:02 2011
我在會員中文名字寫入資料庫時,是正常顯示的
但當我利用帳號抓取會員中文名字時
$sql=mysql_query("select * from persondata where memacc='$uracc'");
while($row=mysql_fetch_array($sql))
{
echo "<p>".$row[2]."</p>";
$_SESSION["usersname"]=$row[2];
}
卻無法正常顯示,(英文可以)
但好像也不是亂碼,都會出現???
想是我資料庫內的名字是『張』,他卻跑出『撘?/p>』
感覺『p>』就是echo那邊的
但另一個一樣是show出資料庫所有資料時
include ("db.php");
$sql = "select * from msgarea where reply=0 order by count desc";//之後要
order by good
$result = mysql_query($sql);
while
(list($no,$name,$subject,$content,$condition,$whichno,$putdate,$page,$type,$count,$good,$soso,$bad)
=mysql_fetch_row($result))
{
echo "<tr><td>".$name;
echo "<td><a href = detail.php?no=$no>".$subject."</a>";
echo "<td>".$type;
echo "<td>".$putdate;
echo "<td>".$count;
echo "<td>".$good;
echo "<td>".$soso;
echo "<td>".$bad;
}
echo "</table>"
這一段就可以完整的show資料庫內的中文,然後沒有亂碼
我有做的事情是
在php裡頭都有加上
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");
在html都有加上
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf8">
我的資料庫是
MySQL 文字編碼: UTF-8 Unicode (utf8)
MySQL 連線校對:UTF-8 Unicode_ci
----------
還有想問
製作留言板
在標題和內文的輸入部分
都只能打英文才能寫入
只要是中文就無法寫入資料庫
問題會出在哪裡呢
我都有按照書本範例做
-----------
還請大家指教指教
雖然這已經是老問題了
我也有爬過文看過了
已經有些部分有解決
但這一部分還是有問題
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.46.161.6
※ 編輯: rainyuhtree 來自: 114.46.161.6 (04/13 19:53)
1F:→ yanli2:你用phpmyadmin進去看資料會是正常還是亂碼呢? 04/13 19:51
2F:→ rainyuhtree:資料庫裡頭的資料表中文顯示是正常的 04/13 19:53
3F:推 mesak:輸出網頁的編碼 資料庫的編碼 04/13 21:26
4F:→ wbc319:可是我這樣做....是正常的。你保留 mysql_query("set 看看 04/14 01:27
5F:推 lance70176:在文字編碼的時候再轉一次UTF-8轉BIG5 04/14 09:32
6F:推 ez880:應該是 big5轉 utf8吧 他不是 utf-8的資料庫嗎 @@ 04/14 12:08
7F:推 wbc319:他資料庫是 utf8 正常顯示,應該是輸出問題 04/14 15:35
8F:→ buganini:charset=utf-8 04/14 17:34
10F:→ rainyuhtree:昨天Y大有幫我解決了,問題是說,我的DB式設定UTF8 04/14 22:27
11F:→ rainyuhtree:但是我的電腦系統好像是BIG5,所以mysql_query內改成 04/14 22:28
12F:→ rainyuhtree:big5,html內也是寫big5,就可以了 04/14 22:29