Re: [SQL ] MySQL亂碼 - 已爬文無解答

看板Database作者時間16年前 (2009/11/25 15:39), 編輯推噓0(007)
留言7則, 3人參與, 最新討論串2/2 (看更多)
以下是某位熱血站友給我的建議,但是我還在嘗試中... 有沒有其他的建議呢?(感謝大家!!!)※※綠字:熱血站友的建議;白字:我的回覆 : 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
1d是那個沒錯。2'需注意php最好是用其他軟體(非記事本
11/25 17:54, 1F

11/25 19:58, , 2F
可是我用記事本寫PHP其它的功能沒甚麼問題耶...
11/25 19:58, 2F

11/25 20:04, , 3F
如果你有用到header函數且server沒開啟buffer才會出現
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
我都用utf8_unicode_ci
12/22 09:08, 7F
文章代碼(AID): #1B3DysfF (Database)
文章代碼(AID): #1B3DysfF (Database)