作者denby (等比)
看板C_Sharp
標題[問題] 從MySQL撈中文,顯示為亂碼
時間Mon May 20 22:12:29 2013
最近在做個小專題,一開頭就碰上這個奇怪的狀況Orz
開發環境:VS2008 ASP.NET
資料庫:不用說就是MySQL了
//以下補充說明環境
使用wamp server(apache + mySQL + php)快速架設環境
由於apache無法support ASP.NET,故額外掛載了mod_aspdotnet模組
經測試asp控制項的中文顯示沒有問題
應該是能先排除apache和外掛模組的影響
mySQL的database、table皆是使用phpmyadmin新增並加入資料
在phpmyadmin上檢視中文資料一切正常
php的編碼已設定為utf8了,使用上和先前皆無太大的差別
另外連接資料庫是使用OdbcConnection來連接
比較讓我在意的一點是OdbcException發生的時候所接回來的中文會是亂碼
鍵盤小弟寫了一個簡單的網頁
可以讓使用者輸入帳號密碼後印出使用者的姓名和E-Mail
只是不知道為什麼撈出來的姓名永遠都是"???"
一開始以為是我網頁的設定有問題
嘗試過將CodePage改為65001
也試過在Web.Config裡加上
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
但姓名仍然是"???"
小弟也懷疑是不是MySQL的編碼問題
拜過GOOGLE大神後已經把能改的全改為了"utf8_unicode_ci"
但還是沒有用Orz
只好上來求救了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.254.236.132
推 Ansaga:我猜mySql的Charset是latin1 ? 05/21 09:57
推 Ansaga:在連接字串最後加上charset='utf8'試試? 05/21 10:00
→ denby:有從"???"進化成亂碼了Q_Q 05/21 21:25
※ 編輯: denby 來自: 114.40.187.51 (05/22 00:26)
推 optimist9266:BIG5試試看 05/22 05:05
→ denby:網頁的編碼有試過選BIG5 但中文部分仍是亂碼 05/22 11:09
推 Ansaga:進化成亂碼是好現像啊XD 感覺快解決了 05/22 12:55
→ denby:解決了 但兇手居然是myOdbc的版本問題Orz 05/23 21:59
推 Ansaga:不用mysql Connector嗎XD 05/23 22:51
→ denby:myODBC 不就是 mySQL Connecter嗎? 05/29 21:43