我們將使用NotepPad++進行PHP網頁編碼轉換。但因Windows系統下UTF-8編碼會在網頁最前面加上三個隱藏字元,用來讓某些編輯軟體辨識出這是UTF-8編碼文件,PHP在讀取UTF-8網頁時會將這三個字元讀出,所以必須將UTF-8編碼的PHP檔案最前面三個字元刪除,否則PHP在執行時會產生問題。(若刪除這三個字元,對Windows環境內其他軟體沒有影響,文件編碼的判斷不完全由那三個字元判斷。)
當您以NotepPad++開啟或編輯網頁檔案時,可注意右下角狀態列上的顯示。若是ANSI代表是Big5編碼。
或者您也可由「格式」功能表察看,內有「編譯成..」及「轉換至..」兩大分類。「編譯成..」是指目前的編碼,「轉換至..」則是編碼的轉換。而若您的檔案是Big5碼,該檔案在「格式」功能表內會是「編譯成ANSI碼」。

【圖6、Notepad++的格式功能表內顯示為Big5編碼】
因此請您將檔案另存為utf8.php檔案,再請您點選「轉換至UTF-8碼格式(檔首無BOM)」後存檔。當您開啟utf8.php檔後,您會發現該檔在「格式」功能表內會是「編譯成UTF-8碼格式(檔首無BOM)」。

【圖7、Notepad++的格式功能表內顯示為UTF-8編碼】
編碼改為UTF-8後且改存為utf8.php後,您會發現到IE8畫面雖可出現文字,但卻不是我們想要的「功」,且您會發現到編碼他選擇的是「繁體中文」。

【圖8、IE8內顯示亂碼】

【圖9、IE8再檢查編碼,發現是繁體中文】
需手動選擇UTF-8才會正常顯示,而Firefox卻可以看到網頁,這是怎麼回事呢?
| 資訊小百科:為何不挑選其他瀏覽器?IE 8是微軟第一個支援CSS 2.1標準的瀏覽器,所以測試IE瀏覽器會以IE8作為測試對象。只是IE8仍沒有完全符合國際標準,Acid3檢查100分內也只有得到17分。IE不像Firefox擴充性高,又可跨平台,之後章節會擷取Firefox執行的畫面。 |
葉建榮 jiannrong@gmail.com











