瞭解網頁設計的亂碼原因
一個字元有多種編碼方式,編譯器或直譯器須知道網頁設計中的程式碼中的字元編碼,才能正確解讀程式,得知編碼方式可能是使用預設字元集、程式引數、環境或全域變數設定、在網頁設計的原始碼中使用魔法註解(Magic comments)等。
有些編譯器會使用作業系統預設編碼,讓開發者以為它能會聰明地分辨原始碼檔案編碼為何,例如Java。如果在中文Windows中,用記事本編輯純文字檔案,預設用MS950編碼;在Ubuntu使用vi編輯純文字,預設使用UTF-8;Java原始碼若含中文字串,編譯器在Windows中預設使用MS950解讀原始碼,在Ubuntu中預設使用UTF-8。
如果在Windows因為中文字串包括了「?」,記事本要求轉存為Unicode,而存檔時選「Unicode big endian」編碼,編譯時,也沒有指定-encoding告知檔案編碼為UTF-16,就會出錯。
有些編譯器或直譯器預設網頁設計的原始碼會使用特定字元集,通常是ASCII字元集,如果使用了範圍外的字元,必須明確告知編譯器或直譯器檔案編碼為何。例如,原始碼檔案撰寫中文而編碼為UTF-8時,Ruby 1.8必須指定$KCODE為'u',或在執行直譯器時,指定-Ku引數,而Ruby 1.9必須在檔案開頭撰寫# encoding: UTF-8;Python 2.x必須在檔案開頭撰寫# -*- coding: UTF-8 -*-,Python 3.x則預設使用UTF-8字元集,網頁設計的原始碼檔案撰寫時必須使用UTF-8編碼,也就不用在檔案開頭撰寫魔法註解。
網頁設計的應用程式經常處理亂碼問題,最常面對的對象之一,就是JavaScript如何處理編碼問題。
現代瀏覽器會假設載入的.js編碼與HTML網頁設計編碼相同。如果.js檔案與網頁設計編碼不同,例如網頁設計編碼為Big5而.js檔案為UTF-8時,.js檔案中ASCII範圍以外的字元,就會有亂碼問題。
轉貼來源:iThome online
參考文獻:
1.易芙瑛,2002,影響企業導入可延伸性企業報告語言(XBRL)之因素探討,私立中原大學會計系碩士班未出版論文。
2.吳政隆,2002,以XML 為資料擷取介面之審計系統實作,私立中原大學會計系碩士班未出版論文。
3.陳柏任,2001,網際網路財務報告揭露之系統架構研究,私立中原大學會計系碩士班未出版論文。
相關文章
Firefox 7為網頁設計帶來什麼樣的變化IE10增強網頁設計對於新HTML5及新CSS支援關於網頁設計的浮動圖層CSS解法瀏覽器如何在網頁設計中的本文正確顯示出內容?重新發現網頁設計的表格
最新文章
HVACKer:入侵隔離網絡的新型攻擊技術還有什麼不會被入侵?路由器 LED 燈已成為攻擊入口美 5 家獨角獸同天申請 IPO 掛牌,最狂的是一家估值 124 億美的數據分析新創!【台灣「智慧產業」開始佈局】緯創集團領投跨國 AI 新創 iKala,下一步拓展東南亞市場快可以用手機遠端遙控你的所有家電了