escape編碼與unescape解碼漢字出現(xiàn)亂碼的解決方法
今天的項(xiàng)目中遇到需要用javascript的escape編碼漢字再用unescape解碼的情況,測(cè)試代碼段的時(shí)候出現(xiàn)了亂碼的情況。
具體情況如下:
首先,用EditPlus打開(kāi)測(cè)試頁(yè)面test.html,編輯如下html代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>unescape測(cè)試</title> </head> <body> <script> var teststr=escape("腳本之家"); document.write(teststr); </script> </body> </html>
頁(yè)面打印輸出:
%uFFFD%u0171%uFFFD%u05AE%uFFFD%uFFFD
此時(shí)可以看出情況不對(duì),單從漢字對(duì)應(yīng)的字符數(shù)量上來(lái)說(shuō)已經(jīng)不對(duì)了!
再使用如下代碼測(cè)試unescape解碼后的漢字:
var relstr=unescape("%uFFFD%u0171%uFFFD%u05AE%uFFFD%uFFFD"); document.write(relstr);
出現(xiàn)了亂碼:�ű�֮��
解決方法:
用Dreamweaver打開(kāi)test.html文件,發(fā)現(xiàn)了問(wèn)題所在!
原先的那段
var teststr=escape("腳本之家");
變成了
var teststr=escape("ű֮");
可見(jiàn)是編輯器的初始編碼造成的!
在Dreamweaver中將漢字改回來(lái),重新運(yùn)行test.html,得到了對(duì)應(yīng)的編碼:
%u811A%u672C%u4E4B%u5BB6
此時(shí)再用unescape解碼:
var relstr=unescape("%u811A%u672C%u4E4B%u5BB6"); document.write(relstr);
就得到了原先正確的漢字:腳本之家!
相關(guān)文章
javaScript刪除對(duì)象屬性的幾種方法總結(jié)
這篇文章主要給大家介紹了關(guān)于javaScript刪除對(duì)象屬性的幾種方法的相關(guān)資料,它們?cè)诓煌瑘?chǎng)景下有不同的應(yīng)用,需要根據(jù)實(shí)際情況選擇最合適的刪除方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),下面需要的朋友可以參考下2023-06-06HTML+CSS+JS實(shí)現(xiàn)的簡(jiǎn)單應(yīng)用小案例分享
這篇文章主要為大家分享四個(gè)用HTML+CSS+JS實(shí)現(xiàn)的簡(jiǎn)單應(yīng)用小案例,有:猜數(shù)字、表白墻、切換日夜間模式和待辦事項(xiàng),需要的可以參考一下2022-02-02webpack-mvc 傳統(tǒng)多頁(yè)面組件化開(kāi)發(fā)詳解
這篇文章主要介紹了webpack-mvc 傳統(tǒng)多頁(yè)面組件化開(kāi)發(fā)詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05ES6新特性五:Set與Map的數(shù)據(jù)結(jié)構(gòu)實(shí)例分析
這篇文章主要介紹了ES6新特性五之Set與Map的數(shù)據(jù)結(jié)構(gòu),結(jié)合實(shí)例形式分析了ES6中Set與Map的功能、定義、屬性、結(jié)構(gòu)與相關(guān)使用技巧,需要的朋友可以參考下2017-04-04js實(shí)現(xiàn)瀏覽本地文件并顯示擴(kuò)展名的方法
這篇文章主要介紹了js實(shí)現(xiàn)瀏覽本地文件并顯示擴(kuò)展名的方法,涉及javascript文件上傳及字符串操作的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-08-08使用javascript實(shí)現(xiàn)雪花飄落的效果
本文主要介紹了使用javascript實(shí)現(xiàn)雪花飄落的特效,雖然網(wǎng)上有很多,不過(guò)都是比較陳舊了,兼容性不是太好,于是動(dòng)手寫一個(gè),把思路和實(shí)現(xiàn)代碼都分享給大家。2015-01-01