Re: [心得] 網頁亂碼問題解決法

看板PHP作者 (不需要腳踏車的魚)時間18年前 (2007/09/29 01:02), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《ottokang (貓貓的大玩偶)》之銘言: : 剛剛上來整理版面發現亂碼問題越來越多 : 很多PHP的初學者常常遇到亂碼的問題而感到困擾,這邊我就整理一下解決辦法 : 如果用了之後還有遇到再上來版上問 : 首先,亂碼的問題幾乎都來自於古老的Big5編碼,因此要有個觀念 : 若非必要 : 不要用Big5編碼!不要用Big5編碼!不要用Big5編碼! : 請愛用UTF-8編碼!請愛用UTF-8編碼!請愛用UTF-8編碼! : 使用編碼就像一堆人說話一樣,如果一個人講了火星話,自然其他地球人聽不懂 : 所以請你先確定以下的環節有沒有做好: : ◎ 資料庫編碼設定UTF-8了嗎? : ◎ PHP程式檔案用UTF-8編碼了嗎?有沒有不小心用到BOM? ^^^這是什麼? : ◎ HTML有用UTF-8嗎?有沒有在head的地方設定以下的Meta Tag? : <meta http-equiv=content-type content="text/html; charset=utf-8" /> : 以上都做到的話,應該可以解決99%的編碼問題,剩下的再到版上發問吧! 感謝版主整理, 看過版友給的方法, 我在執行 sql 指令前,加上 mysql_query("SET NAMES 'utf8'"); 的確解決了中文資料寫進資料庫,在資料庫介面顯示亂碼的問題。 我一開始請教朋友怎麼解決這個問題, 他只告訴我 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 他寫的程式碼並沒有加上 mysql_query("SET NAMES 'utf8'"); 也不會顯示亂碼, 請問為什麼會有這樣的差別呢?(我的不加就會亂碼,他不加也不會有亂碼 @@) 另外發現一個問題, 中文寫進資料庫不會有亂碼了, 但是從資料庫讀出就會出現亂碼,為什麼有這種情況發生啊? 資料庫是以 utf8_general_ci 編碼, php 程式頁一開頭有加上 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">, 謝謝版友回答了! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.172.55.106 ※ 編輯: towalking 來自: 218.172.55.106 (09/29 01:29)

09/29 10:26, , 1F
BOM = Byte Order Mark,細節可以google翻看看 :)
09/29 10:26, 1F
文章代碼(AID): #16_JEBPS (PHP)
討論串 (同標題文章)
文章代碼(AID): #16_JEBPS (PHP)