如何使用Javascript取得HTML網頁中預設編碼(charset)

一個網頁的基本HTML架構如下,或是沒有特別標註,使用Browser預設編碼...
<head>
...
<!-- 一般的顯示 -->
<meta http-equiv="Content-Type" content="text/html" charset="utf-8" />
<!-- HTML5 顯示方式 -->
    <meta charset="UTF-8">
....</head>



我們可以使用以下的Javascript去擷取當下網頁的編碼。例如: Big5、UTF-8、EUC-JP(日文)....等等。

<script>

/
/ 不要單單只使用一種擷取方式,因為使用者不會只使用IE。
//  所以,使用別的browser時候,就會出錯。
//  var charsetCode = document.defaultCharset; 

// 所以我建議使用以下方式,
// 只要Moz、IE或是其他Browser可以擷取出資
// 訊,就可以了不用寫一大堆if else去做browser種類分別了
var charsetCode = 
      document.charset || document.characterSet || document.defaultCharset;
</script>

順利擷取網頁編碼後,也就比較容易可以藉此有更正確的encode或decode其他的參數值。例如:URL/URI中的參數Percentage-Encode/Percentage-Decode。誘惑著有其他中文應用顯示的差異,做出更正確的修正。

留言

這個網誌中的熱門文章

7-ELEVEN 電子發票明細查詢方式

Java 使用 regular expression 正則表達,過濾特殊字元,反斜線處理重點

Ubuntu GUI中,無法啟動WIFI連結解決方法