❶ js中如何進行HTMLEncode
HTML的Encode(轉碼)和解碼(Decode)在平時的開發中也是經常要處理的,以下總結了使用javascript處理HTML的Encode(轉碼)和解碼(Decode)的常用方式
一、用瀏覽器內部轉換器實現轉換
1.1.用瀏覽器內部轉換器實現html轉碼
首先動態創建一個容器標簽元素,如DIV,然後將要轉換的字元串設置為這個元素的innerText(ie支持)或者textContent(火狐,google支持),最後返回這個元素的innerHTML,即得到經過HTML編碼轉換的字元串了。
1.2.用瀏覽器內部轉換器實現html解碼
首先動態創建一個容器標簽元素,如DIV,然後將要轉換的字元串設置為這個元素的innerHTML(ie,火狐,google都支持),最後返回這個元素的innerText(ie支持)或者textContent(火狐,google支持),即得到經過HTML解碼的字元串了。
var HtmlUtil = {
/*1.用正則表達式實現html轉碼*/
htmlEncodeByRegExp:function (str){
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g,"&");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
s = s.replace(/ /g," ");
s = s.replace(/\'/g,"'");
s = s.replace(/\"/g,""");
return s;
},
/*2.用正則表達式實現html解碼*/
htmlDecodeByRegExp:function (str){
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g,"&");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
s = s.replace(/ /g," ");
s = s.replace(/'/g,"\'");
s = s.replace(/"/g,"\"");
return s;
}
};
❷ js中文轉碼url問題
js中文轉碼默認是用urlencode,而php默認的是rawurlencode(),所以編碼出來就不一樣。
PHP中對於URL進行專編碼,可以使用屬 urlencode() 或者 rawurlencode(),二者的區別是前者(urlencode)把空格編碼為 '+',而後者(rawurlencode)把空格編碼為 '%20',不過應該注意的是,在編碼時應該只對部分URL編碼,否則URL中的冒號和反斜杠也會被轉義。
在解碼時,可以使用相應的 urldecode() 和 rawurldecode(),相應地,rawurldecode() 不會把加號('+')解碼為空格,而 urldecode() 會。
語法:urlencode($str) rawurlencode($str) urldecode($str) rawurldecode($str)
GBK與UTF-8的轉碼:
iconv("gbk","utf-8","php中文轉碼");//把中文gbk編碼轉為utf8
iconv("utf-8","gbk","php中文轉碼");//把中文utf8編碼轉為gbk
❸ 使用js的decodeuri %40 無法解碼
請使用decodeURIComponent
decodeURIComponent('%40')
❹ 如何把js獲取url中文亂碼轉碼
一:Js的Url中傳遞中文參數亂碼問題,重點:encodeURI編碼,decodeURI解碼:1.傳參頁面Javascript 代碼內:<script type=」text/ javascript 」>// <![CDATA[function send(){var url = "test01.html";var userName = $("#userName").html();window.open(encodeURI(url + "?userName=" + userName)); }// ]]>
❺ js 如何給中文轉碼
需要准備的材料分別有:電腦、html編輯器、瀏覽器。
1、首先,打開html編輯器,版新建html文件,例如:index.html。

❻ js 編碼 開頭的怎麼轉換中文
這種來「編碼」是自HTML所支持的,叫字元實體(character entities)。你可以試著這樣解碼:
varstr='笃';
functiondecode(str){
vardiv=document.createElement('div');
div.innerHTML=str;
returndiv.innerHTML;
}
console.log(decode(str));
❼ Js:關於decodeURIComponet()解碼Unicode問題
<script type="text/javascript">
var x = "\u9a6c";
var y = "\\" + "u9a6c";
var a = decodeURIComponent(x);
var b = decodeURIComponent(y);
alert("x:" + x + " | " + "y:" + y + " | " + (x == y) + " | a:" + a + " | b:" + b);
</script>
結果:
x:馬 | y:\u9a6c | false | a:馬 | b:y:\u9a6c
"\u9a6c" 字元串就是一個漢字馬 而這個不是漢字 "\\" + "u9a6c"; 字元串的時候就已經轉義了
JSON有一個防止漢字亂碼的時候,就是以這些轉義符來替代漢字的,都是JS直接就識別了
❽ js腳本怎麼轉碼
可以使用js自帶的轉碼方法escape(),encodeURI()和encodeURIComponent()。
下面是詳細介紹:
Js中escape(),encodeURI()和encodeURIComponent()使用和比較:
escape方法以Unicode格式返回一個包含傳入參數內容的string類型的值。Escape方法會將傳入參數中所有的空格、標點符號、重音字元以及其它任何非ASCII字元替換為%xx的編碼形式,其中xx與其所表示的字元的16進制數表示形式相同。如空格字元的16進製表示形式為0x20,則此時xx應為20,即escape(『』)返回「%20」。
escape和unescape方法能夠幫助你編碼和解碼字元串。escape方法對於ISOLatin字元集中的字元組成的參數,返回其16進制編碼。相對應的,unescape方法則能將16進制編碼形式的參數轉化成為其ASCII碼形式。
encodeURI方法返回一個經過編碼的URI。如果將encodeURI方法的編碼結果傳遞給decodeURI方法作參數,則能得到原始的未編碼的字元串。需要注意到是encodeURI方法不編碼如下字元":","/",";",and"?"。如果想要編碼這些字元,請使用encodeURIComponent方法。
encodeURIComponent方法返回一個編碼過的URI。如果將encodeURIComponent方法的編碼結果傳遞給encodeURIComponent方法作參數,則能得到原始的未編碼的字元串。因為encodeURIComponent方法會編碼所有的字元,所以如果待編碼的字元串是用來表示一個路徑(如/dir1/dir2/index.htm)時,就一定要小心使用了。『/』符號會被其編碼之後,將不再是一個有效的路徑標識符,所以不能被web伺服器正確地識別。當字元串包含一個單獨的URIcomponent(指?後面的請求參數)的時候,請使用此方法。
escape()不編碼的字元:@*/+
encodeURI()不編碼的字元:~!@#$&*()=:/,;?+"
encodeURIComponent()不編碼的字元:~!*()''
❾ 如何把js獲取url中文亂碼進行轉碼
一:Js的Url中傳遞中文參數亂碼問題,重點:encodeURI編碼,decodeURI解碼:1.傳參頁面Javascript 代碼:<script type=」text/ javascript 」>// <![CDATA[function send(){var url = "test01.html";var userName = $("#userName").html();window.open(encodeURI(url + "?userName=" + userName)); }// ]]>