在编程时,下载东西的时候,往往需要往后台传一个或者几个值,当这个值中包含汉字或者特殊字符时,往往需要
var url = url;
url=encodeURI(url);
url=encodeURI(url);
但是有的时候,比如这个值中包含“%”时,下载的时候,当用迅雷下载的时候,有的时候会报一个不合法的URl错误,
这是因为迅雷的编码方式和一般的IE不一样,导致它不认识这个URL
这个时候,你只要把URl“?”后面传得东西用encodeURIComponent转换下,然后在后台把传过去的东西专程UTF-8格式的就好了
比如:url=url+'user!downLoad.action?name=hello%word';
这时候你只需要这样来用
var str = encodeURIComponent('user!downLoad.action?name=hello%world');
url = url+str;
然后在后台这样下
String name = request.getParameter("name");
name = new String(name.getBytes("ISO-8859-1"),"utf-8");
这样就行了
分享到:
相关推荐
在前端处理中文参数时,通常需要使用两次`encodeURI`。这是因为浏览器在将URL发送到服务器之前,会自动对URL进行一次URI解码,这个过程可能会使用默认的字符编码,而不是我们期望的UTF-8。因此,为了确保中文字符在...
如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=张三 可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 (1)JS在页面上把数据var val = encodeURI...
- **二次转码**:先使用`encodeURI()` 编码一次,再用`encodeURIComponent()` 编码一次,这样URL中的特殊字符都会被编码。在服务器端,使用`URLDecoder.decode(name, "UTF-8")` 进行解码。 2. **Java服务器端处理*...
假设我们有如下情况:前端页面需要向服务器发送包含中文的URL参数,为了避免乱码,我们可以使用以下步骤: - 在前端,使用`encodeURIComponent()`对中文参数进行编码。 - 后端接收参数时,使用相应的解码函数(如`...
当我们需要在两个页面间通过URL传递参数时,经常会遇到中文乱码问题。这个问题主要是因为URL中的参数可能没有经过正确的编码和解码处理。为了解决这个问题,我们可以采取一些方法,特别是当使用jQuery来获取URL参数...
在处理Web开发中,我们经常需要从URL中获取参数值。然而,URL参数中可能包含特殊字符,如井号(#)和其它符号,它们在URL中扮演特定的角色,可能导致无法直接获取预期的参数值。本篇知识点将详细探讨如何在PHP中获取带...
这意味着当需要编码URL中的查询字符串或路径段时,应该使用`encodeURIComponent()`函数。 #### 总结 - **`escape()`**:较早的URL编码方式,现在已经较少使用。 - **`encodeURI()`**:用于对整个URL进行编码,适合...
- 在使用`encodeURI`和`decodeURI`时需要注意,这些函数只能处理合法的URL字符串。如果输入的字符串不符合URL的规范,可能会导致编码或解码失败。 - 当处理URL的特定部分(如查询字符串)时,应优先使用`...
- 使用`encodeURI`,`query`参数保持不变,因为%是URI的合法字符,所以不需要再次编码。 - 使用`encodeURIComponent`,`query`参数会被编码为`javascript%20%E7%BC%96%E7%A0%81`,这里的空格被正确地转换为%20,适合...
然而,当我们需要处理中文或其他非ASCII字符时,`encodeURI`可能无法满足需求,因为它并不覆盖所有非英文字符集,比如GBK编码。 GBK是GB2312的扩展,包含了更多的中文字符,主要在中国大陆使用。在处理包含GBK字符...
1.传递参数: 代码如下: var pmt = ‘sensor=’+ encodeURI(encodeURI(sensor))+’&device=’+encodeURI(encodeURI(device))+’&instrument=’; pmt += encodeURI(encodeURI(instrument))+’&n=’+n+’&addDate=’+...
在页面的url中使用encodeURI(encodeURI(中文)),对中文... 您可能感兴趣的文章:js将json格式的对象拼接成复杂的url参数方法js的form表单提交url传参数(包含+等特殊字符)的两种解决方法JS根据key值获取URL中的参数值及
- `encodeURI`通常需要调用两次,这是因为第一次编码后的字符串可能包含非ASCII字符,第二次编码可以确保所有字符都被正确编码。 - 编码后的字符串可以直接拼接到URL中。 #### 三、Java中的`URLDecoder.decode`方法...
需要注意的是,escape 函数不能够用来对统一资源标示码 (URI) 进行编码,对其编码应使用 encodeURI 和 encodeURIComponent 方法。 encodeURI 函数:encodeURI 函数将文本字符串编码为一个有效的统一资源标识符 (URI...
在上述例子中,使用了两次`encodeURI`,这是因为对于某些特定字符,一次编码可能不足以产生有效的URL编码。 代码示例: ```javascript var url = "b.jsp?name=" + u_name; url = encodeURI(url); // 由于某些字符...
例如,当从一个JSP页面通过URL参数向另一个JSP页面传递中文字符串时,如果两个页面或请求处理过程中的字符编码设置不一致,就可能会导致接收方看到的是乱码。 #### 知识点二:使用`encodeURIComponent`编码中文参数...