`
feizhang666
  • 浏览: 39621 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

当下载东西需要用url传一个值时,用encodeURI两次之后,有的时候用迅雷下载会报不合法的RUL错误

阅读更多
在编程时,下载东西的时候,往往需要往后台传一个或者几个值,当这个值中包含汉字或者特殊字符时,往往需要
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");	

这样就行了
分享到:
评论

相关推荐

    URL传中文参数导致乱码的解决方案之encodeURI

    在前端处理中文参数时,通常需要使用两次`encodeURI`。这是因为浏览器在将URL发送到服务器之前,会自动对URL进行一次URI解码,这个过程可能会使用默认的字符编码,而不是我们期望的UTF-8。因此,为了确保中文字符在...

    JS的encodeURI和java的URLDecoder.decode使用介绍

    如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=张三 可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 (1)JS在页面上把数据var val = encodeURI...

    java中文乱码之解决URL中文乱码问题的方法

    - **二次转码**:先使用`encodeURI()` 编码一次,再用`encodeURIComponent()` 编码一次,这样URL中的特殊字符都会被编码。在服务器端,使用`URLDecoder.decode(name, "UTF-8")` 进行解码。 2. **Java服务器端处理*...

    javaScript encodeURI中文乱码

    假设我们有如下情况:前端页面需要向服务器发送包含中文的URL参数,为了避免乱码,我们可以使用以下步骤: - 在前端,使用`encodeURIComponent()`对中文参数进行编码。 - 后端接收参数时,使用相应的解码函数(如`...

    jquery获取URL中参数解决中文乱码问题的两种方法

    当我们需要在两个页面间通过URL传递参数时,经常会遇到中文乱码问题。这个问题主要是因为URL中的参数可能没有经过正确的编码和解码处理。为了解决这个问题,我们可以采取一些方法,特别是当使用jQuery来获取URL参数...

    php获取URL中带#号等特殊符号参数的解决方法

    在处理Web开发中,我们经常需要从URL中获取参数值。然而,URL参数中可能包含特殊字符,如井号(#)和其它符号,它们在URL中扮演特定的角色,可能导致无法直接获取预期的参数值。本篇知识点将详细探讨如何在PHP中获取带...

    url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介

    这意味着当需要编码URL中的查询字符串或路径段时,应该使用`encodeURIComponent()`函数。 #### 总结 - **`escape()`**:较早的URL编码方式,现在已经较少使用。 - **`encodeURI()`**:用于对整个URL进行编码,适合...

    javascript中encodeURI和decodeURI方法使用介绍.docx

    - 在使用`encodeURI`和`decodeURI`时需要注意,这些函数只能处理合法的URL字符串。如果输入的字符串不符合URL的规范,可能会导致编码或解码失败。 - 当处理URL的特定部分(如查询字符串)时,应优先使用`...

    JS中三种编码方式(escape,encodeURI,encodeURIComponent)

    - 使用`encodeURI`,`query`参数保持不变,因为%是URI的合法字符,所以不需要再次编码。 - 使用`encodeURIComponent`,`query`参数会被编码为`javascript%20%E7%BC%96%E7%A0%81`,这里的空格被正确地转换为%20,适合...

    js的encodeUri编码转换为GBK问题

    然而,当我们需要处理中文或其他非ASCII字符时,`encodeURI`可能无法满足需求,因为它并不覆盖所有非英文字符集,比如GBK编码。 GBK是GB2312的扩展,包含了更多的中文字符,主要在中国大陆使用。在处理包含GBK字符...

    JSP中js传递和解析URL参数以及中文转码和解码问题

    1.传递参数: 代码如下: var pmt = ‘sensor=’+ encodeURI(encodeURI(sensor))+’&device=’+encodeURI(encodeURI(device))+’&instrument=’; pmt += encodeURI(encodeURI(instrument))+’&n=’+n+’&addDate=’+...

    jsp中URL传递中文参数的处理方法

    在页面的url中使用encodeURI(encodeURI(中文)),对中文... 您可能感兴趣的文章:js将json格式的对象拼接成复杂的url参数方法js的form表单提交url传参数(包含+等特殊字符)的两种解决方法JS根据key值获取URL中的参数值及

    JS的encodeURI和java的URLDecoder.decode使用介绍.docx

    - `encodeURI`通常需要调用两次,这是因为第一次编码后的字符串可能包含非ASCII字符,第二次编码可以确保所有字符都被正确编码。 - 编码后的字符串可以直接拼接到URL中。 #### 三、Java中的`URLDecoder.decode`方法...

    javascript 对url编码 解码

    需要注意的是,escape 函数不能够用来对统一资源标示码 (URI) 进行编码,对其编码应使用 encodeURI 和 encodeURIComponent 方法。 encodeURI 函数:encodeURI 函数将文本字符串编码为一个有效的统一资源标识符 (URI...

    url传值异常java.io.CharConversionException: isHexDigit

    在上述例子中,使用了两次`encodeURI`,这是因为对于某些特定字符,一次编码可能不足以产生有效的URL编码。 代码示例: ```javascript var url = "b.jsp?name=" + u_name; url = encodeURI(url); // 由于某些字符...

    jsp传中文值

    例如,当从一个JSP页面通过URL参数向另一个JSP页面传递中文字符串时,如果两个页面或请求处理过程中的字符编码设置不一致,就可能会导致接收方看到的是乱码。 #### 知识点二:使用`encodeURIComponent`编码中文参数...

Global site tag (gtag.js) - Google Analytics