使用js编码和解码
有三个函数
编码:escape() encodeURI() encodeURIDomponent()
对应的解码:unescape(),decodeURI(),decodeURIDomponent()
三个函数的区别
escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非BSDII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / +
encodeURI() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '
encodeURIDomponent() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。不会被此方法编码的字符:! * ( )
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者encodeURIDomponent。
另外,encodeURI/encodeURIDomponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。
编码
<input onclick="window.location.href=encodeURI(encodeURI('download.jsp?path=<%=rs.getString("path")%>'))" value="下载">
解码
java代码
String path=java.net.URLDecoder.decode(request.getParameter("path"), "UTF-8");
使用java代码编码和解码
编码
String name=java.net.URLEncoder.encode("中文");
跳转时
<a href="test.jsp?name="+name>测试</a>
解码
String path=java.net.URLDecoder.decode(request.getParameter("path"), "UTF-8");
分享到:
相关推荐
asp.net中URL参数传值中文乱码的三种解决办法
主要为大家分享了介绍了java中文乱码之解决URL中文乱码问题的方法,感兴趣的小伙伴们可以参考一下
从A页面通过url传参到B页面时,获取URL中参数出现中文乱码问题,解析url参数的正确方法如下,感兴趣的朋友可以参考下
URL传参数时中文乱码解决方法
php中url地址栏传参数中文乱码解决方法汇总
js 中乱码处理法方式 encodeURIComponent(encodeURIComponent(customerAddress)) decodeURIComponent(customerName) js到java encodeURI(url) String qijuType= new String(request.getParameter( (...
URL传中文参数导致乱码的解决方案之encodeURI
在使用myeclipse过程中,我使用ajax同步请求传递参数到后台却出现中文乱码,这是我解决问题的代码,希望对您有所帮助
在开发过程中遇到了Url的中文乱码问题,经过多次测试,解决了问题,并分享给大家,希望能够你帮助!
asp.net页面通过URL参数传值中文乱码问题解决办法
url地址传参中文乱码处理
主要介绍了Java Http请求传json数据乱码问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
jsp使用URL编码传递中文参数乱码问题
教学视频--JSP中URL传递中文乱码问题的解决演示.rar
JavaScript获取Url中的参数(解决中文乱码) 可以点击更改URL按钮 修改url中的参数
JBoss服务器URL乱码的问题解决办法
JAVA(Web)中URL链接中文参数乱码,如,java web中的超链接<a></a>标签传中文参数,提交到servlet中后,解决乱码问题!
如果直接拼接,传到后台Action的参数对象中后取出会是乱码,需要编码后再拼接到URL上。 解决方法是在Action中添加一个成员变量,保存编码后的中文参数。在vm页面渲染时取出这个变量值,再拼接超链接。 在这里碰到的...
解决java中url传参时出现的中文乱码,在传参页面用URLEncoder.encode("","UTF-8") 在显示页面jsp页面开头加, request.setCharacterEncoding("UTF-8")
get提交中文乱码 地址重写中文乱码 jsp url中文乱码四种解决方式