Re: [心得] 網頁亂碼問題解決法
※ 引述《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
09/29 10:26, 1F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章