❶ 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)); }// ]]>