如何使用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。
<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 =
var charsetCode =
document.charset || document.characterSet || document.defaultCharset;
</script>
</script>
順利擷取網頁編碼後,也就比較容易可以藉此有更正確的encode或decode其他的參數值。例如:URL/URI中的參數Percentage-Encode/Percentage-Decode。誘惑著有其他中文應用顯示的差異,做出更正確的修正。
留言
張貼留言