Re: [請益] 資料庫輸出是亂碼
我前鎮子也在搞類似的問題
你可以參考看看我的解決方案
首先 我的環境是 apache mysql php (版本略)
先檢查appache 跟php是否有編碼的問題
我寫了:
<?php
echo "測試中文中,例如:張先生 ";
?>
如果顯示正常 appache跟php"應該"就沒問題了。
再來就是MySQL了
個人不喜歡加一些set char...在我的程式碼內(每次都要加很麻煩)
於是請找到你的安裝目錄MySQL根目錄內有個檔案my.ini
請將my.ini打開
如果你是官方網站抓的 很有可能chartset是latin1
要修改的地方如下:
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
最後將MySQL重開。
Try it!
※ 引述《rainyuhtree (ianyu)》之銘言:
: 我在會員中文名字寫入資料庫時,是正常顯示的
: 但當我利用帳號抓取會員中文名字時
: $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: 111.83.227.63
※ 編輯: ooopooo 來自: 111.83.227.63 (04/14 16:33)
→
04/14 22:30, , 1F
04/14 22:30, 1F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章