如果網址列中帶有中文,雖然在瀏覽器上可以正確看到中文,但是複製網址到記事本上卻出現亂碼。
其實它不是亂碼,因為URL在網路上只能以ASCII碼傳送,而ASCII就只有英、數字及特殊符號,
當然中文就不再支援之列,所以必須將中文以UTF8轉成16進位,傳送到瀏覽器之後,再解碼回來,
就可以得到正確的中文,所以在瀏覽器看到的中文是解碼後的結果。
所以我試著以javascript寫一個解碼的程式,還蠻有趣的。
<!DOCTYPE html>
<html>
<header>
<meta charset="utf-8" />
</header>
<body>
<p>
請輸入原始的URL網址,如:http://twtnn.com/%E5%AF%93%E6%95%99,<br />
</p>
<p><textarea id="sou" cols="40" rows="5" ></textarea></p>
<button onclick="fn_decodeURI()">開始解碼</button>
<p><textarea id="res" cols="40" rows="5" ></textarea></p>
</body>
<script>
function fn_decodeURI() {
var str_url = document.getElementById("sou").value ;
//將分行符號刪除
str_url = str_url.replace(/\n/g,"");
//解碼使用decodeURI,編碼使用encodeURI
var dec = decodeURI(str_url);
document.getElementById("res").value = dec;
}
</script>
</html>