作者ottokang (貓貓的大玩偶)
看板PHP
標題[心得] 網頁亂碼問題解決法
時間Fri Aug 17 10:08:05 2007
剛剛上來整理版面發現亂碼問題越來越多
很多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%的編碼問題,剩下的再到版上發問吧!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.20.46.232
1F:推 dinos:html 一定是: 08/17 10:09
2F:→ dinos:第一行: <!DOCTYPE 08/17 10:10
3F:→ dinos:第二行: <html lang= 08/17 10:10
4F:→ dinos:第三行: <meta http-equiv="content-type" charset 08/17 10:10
5F:→ dinos:之後有空再寫 <title></title> 08/17 10:11
6F:推 gckenny:我的第一行是<?xml version="1.0" encoding="UTF-8"?> XD 08/17 10:14
7F:推 taikobo:版主辛苦了,推! 08/17 10:32
8F:推 gmoz:用記事本編輯時 存成utf-8編碼 08/17 10:56
9F:推 gmoz:資料庫語法前加上mysql_query("SET CHARACTER SET 'utf8'") 08/17 10:59
10F:→ gmoz:這些也是方法之一 08/17 11:00
11F:→ gmoz:中文檔名下載時因為IE無法自動判別檔名編碼 因此要改成BIG5 08/17 11:01
12F:→ gmoz:mysql_query("SET CHARACTER SET 'big5'") 其他部分則用utf-8 08/17 11:02
13F:→ gmoz:這是我以前遇過的問題 XD 08/17 11:02
14F:推 superGA:記事本存UTF8會有BOM 08/17 11:51
15F:→ superGA:用pspad吧 08/17 11:51
16F:→ superGA:亂碼的問題主要是因為設定的編碼與資料編碼不一 產生的 08/17 11:52
17F:→ superGA:並不是使用utf 8就不會有亂碼 08/17 11:53
18F:→ superGA:如果沒有要跟其他編碼互通 big5也沒什麼滔天大罪 08/17 11:53
19F:→ superGA:畢竟有80%以上的繁體中文網頁是big5 08/17 11:54
20F:→ superGA:若你要跟這些網頁互通的時候使用utf8 會讓你很XO 08/17 11:54
21F:→ superGA:80%是我保守估計 實際上應該更高.... 08/17 11:55
22F:→ superGA:適當的使用合適的編碼 才是正確的 08/17 11:56
23F:推 cpper:因地制宜才對, 偏廢某種編碼一定會出問題 08/17 15:46
24F:推 gmoz:這篇文章是以初學者而言吧? 08/17 17:53
25F:推 PHP5:也些公司要求一定要用Big5! 就要順他們的意呀.... 08/17 18:02
26F:推 ottokang:初學者還是建議用UTF-8,當然實際應用上不用這麼死板 08/17 18:39