Re: [SQL ] MySQL亂碼 - 已爬文無解答
以下是某位熱血站友給我的建議,但是我還在嘗試中...
有沒有其他的建議呢?(感謝大家!!!)※※綠字:熱血站友的建議;白字:我的回覆
: 1.請確定MySQL建立資料庫時所使用的編碼方式?
a.利用MySQL終端建立database和所屬之table
b.然後利用PHPMyAdmin更改"校對"屬性為utf8_bin
c.因為是初學者,不清楚如何用MySQL終端更改屬姓,請問我這麼做對嗎?
d.你後面提到建立資料庫時選用utf_generic,可是我找不到這個選項。但我有看到
一個叫utf_general_ci的
: 2.PHP, HTML的儲存格式是ANSI還是UTF-8?
a.請問我要怎麼查「PHP,HTML的儲存格式」呢?
: 3.PHP, HTML檔案中的<meta>中是否有設定charset=utf-8或是charset=big5?
a.對於HTML,我有加入下面這一行:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
b.對於HTML,我有加入下面這一行:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
c.請問這樣對嗎?
: 以上這三項決定你的錯誤在那一個步驟~
: 一般建議使用utf-8:
: 1.在MySQL中建立資料庫時請選用utf8_generic
a.所以我不應該用utf8_bin囉?(utf8_bin是我去網路上查的,但不知道它和其他
的差異)
b.剛剛改成utf8_general_ci然後測試了一下,仍舊是亂碼
: 2.PHP, HTML儲存時選用格式utf-8
: 3.PHP, HTML檔案中設定<meta>中的charset=utf-8
: 我猜你的問題在於沒注意編碼的問題,
: 也就是建立資料庫時是utf-8(預設值),
: 所以在MySQL中查詢會顯示亂碼,
: 至於回到PHP網頁中顯示正常是因為瀏覽器會自動選擇以utf-8的編碼顯示。
: 如果你執意要使用big5編碼,請在php連結MySQL的SQL指令前執行
: set names big5;
: 再執行你的SQL,例如select * from email_list;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.148.197
※ 編輯: ontario 來自: 61.64.148.197 (11/25 15:41)
→
11/25 17:54, , 1F
11/25 17:54, 1F
→
11/25 19:58, , 2F
11/25 19:58, 2F
→
11/25 20:04, , 3F
11/25 20:04, 3F
→
11/26 02:00, , 4F
11/26 02:00, 4F
→
11/26 11:34, , 5F
11/26 11:34, 5F
→
11/27 01:25, , 6F
11/27 01:25, 6F
→
12/22 09:08, , 7F
12/22 09:08, 7F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):