使用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");
分享到:
相关推荐
在接收URL参数的地方,可以通过编程方式来处理中文乱码。例如在`Page_Load`事件中,使用`HttpUtility.UrlDecode`方法解码URL参数: ```csharp protected void Page_Load(object sender, EventArgs e) { if (!...
在Java开发中,遇到中文乱码问题是一种常见的挑战,特别是在处理URL时。URL中文乱码问题主要是由于URL编码和解码过程中的不一致导致的。下面将详细介绍如何解决这个问题,并探讨几种常用的方法。 首先,我们需要...
PHP 中 URL 地址栏传参数中文乱码解决方法汇总是指在 PHP 编程中,如何解决 URL 地址栏传参数中文乱码的问题。这个问题是由于浏览器和服务器之间的编码问题引起的。 url 编码语法: 在 PHP 中,url 编码语法使用 ...
以上就是解决在使用jQuery获取URL参数时出现中文乱码问题的两种方法,以及相关的编码和解码处理方式。需要注意的是,乱码问题的出现主要是由于编码和解码不一致导致的,所以在前后端处理URL参数时,一定要注意正确地...
### URL传参数中文乱码原因 URL传参数时出现中文乱码的主要原因在于字符编码的不一致。通常,Web应用在处理请求时,会涉及到多个环节的编码转换,包括客户端发送请求、网络传输、服务器接收及处理等阶段。如果这些...
js 中乱码处理法方式 encodeURIComponent(encodeURIComponent(customerAddress)) decodeURIComponent(customerName) js到java encodeURI(url) String qijuType= new String(request.getParameter( (...
### extjs前后台交互参数出现中文乱码问题的解决方法 #### 问题背景与原因分析 在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的...
在实际解决乱码问题的过程中,如果发现使用Base64加密传输中文数据还会出现问题,可以改用URL编码的方式来传输数据,即使用JavaScript的`encodeURI`函数对数据进行两次URL编码,后端接收到后进行一次URL解码即可。...
URL地址传参中文乱码处理是指在Web应用程序中,将中文参数传递给服务器时,可能出现乱码的情况。这种情况可能是由于编码问题或Tomcat服务器的配置问题引起的。 在处理URL地址传参中文乱码时,通常有三种解决方案: ...
在开发过程中遇到了Url的中文乱码问题,经过多次测试,解决了问题,并分享给大家,希望能够你帮助!
中文乱码问题分析 中文乱码问题是 Java 和 JSP 开发中的一种常见问题,主要是由于 Java 和 JSP 源文件的保存方式是基于字节流的,而编译成 class 文件过程中,使用的编码方式与源文件的编码不一致所致。在 Java ...
3. **URL解码**:在服务器端接收到URL参数后,需要使用`java.net.URLDecoder.decode()`方法进行解码,同样指定UTF-8编码。例如:`URLDecoder.decode(request.getParameter("paramName"), "UTF-8")`。 4. **服务器...
在Java Web开发中,URL中文乱码问题是一个常见的困扰,主要出现在传递含有中文字符的参数时。本案例中,我们将探讨如何解决这个问题,涉及到的主要知识点包括URL编码、字符集转换以及在Java Servlet、JSP和Struts2...
IE浏览器缺省对 URL 后面的参数是不编码发送的,但是 Tomcat 服务器缺省是按 ISO8859-1 来进行 URL 编码的,因此才会出现中文乱码问题。 为了解决这个问题,可以使用以下四种方法: 方法一:对 URL 链接进行二次...
在Java环境中,可以使用`java.net.URLDecoder`类的`decode`方法,指定UTF-8编码来解码URL参数。例如: ```java String starName = java.net.URLDecoder.decode(request.getParameter("star_name"), "UTF-8"); ``` ...
jsp使用URL编码传递中文参数乱码问题
配置 Web.xml 解决中文乱码问题 本文主要讨论了在 Web 开发中遇到的中文乱码问题,并提供了一些解决方案。首先,需要确定中文乱码问题不是由浏览器引起的,然后讨论了 Tomcat 服务器配置和数据库 bean 配置中的一些...
在Asp.Net开发中,遇到页面通过URL参数传递中文字符时出现乱码是...以上就是解决Asp.Net页面通过URL参数传递中文乱码问题的详细方法,通过选择合适的方法或组合使用这些方法,可以确保中文字符在URL中正确无误地传递。
JavaScript获取Url中的参数(解决中文乱码) 可以点击更改URL按钮 修改url中的参数
URL传中文乱码问题的根源在于URL编码规范。根据RFC 3986,URL中的非ASCII字符需要通过`application/x-www-form-urlencoded`编码,即将非ASCII字符转换为 `%xy` 的形式,其中`xy`是该字符的十六进制值。默认情况下,...