从昨天开始一直在做extjs当中的文件下载问题,乱码问题彻底把我搞的头大。。
好在最终算是把问题解决了。
乱码产生的地方有两个,
一个是通过get方式请求时,请求地址当中的中文参数的问题;
另一个是下载的文件的中文文件名在下载提示框中的乱码问题。
解决第一个问题的方式如下:
1.前台JS
elemIF.src = "downloadFile.do?res_path=" + escape(encodeURIComponent(grid.store.getAt(rowIndex).data.res_path));
elemIF是访ajax下载文件时使用的iframe,
res_path就是请求的文件路径,其中包含中文名。经过escape和encodeURIComponent两个函数的处理后,后台就可以使用java提供的解码类来进行解码。
2.后台JAVA
res_path = java.net.URLDecoder.decode(res_path,"utf-8");
这样,带中文的请求路径就被转换为标准的UTF-8字符串了,程序就可以正常读写了
解决第二个问题的方式我到现在也不明白原理是什么,也希望如果哪位大大知道为什么这么做,能教一下小弟。
response.addHeader("Content-Disposition", "attachment; filename=\"" + new String( file.getName().getBytes("gb2312"), "ISO8859-1" ) + "\"");
ISO-8859-1不是英文编码么,为什么经过这么处理后,中文名在下载时就可以正常显示了。
不管怎样,问题是解决了,以后在慢慢研究吧。。
分享到:
相关推荐
在处理HTTP请求时,尤其是GET和POST请求,如果服务器没有正确配置以识别和处理中文字符,就可能出现乱码问题。中文字符通常以UTF-8编码发送,因此服务器需要能够识别并转换这种编码。 解决方法: - 配置 boa.conf...
总的来说,解决HTTP请求中的中文乱码问题,核心在于正确地设置编码格式,并在发送请求前对中文数据进行编码。无论是GET还是POST请求,都需要确保客户端和服务器之间对字符编码的一致理解。通过阅读提供的文档和示例...
在Java进行HTTP请求时,通常会遇到数据传输出现乱码的问题,尤其是在使用JSON格式传输数据,且数据中包含中文字符时更为常见。在HTTP协议中,字符编码的正确处理对于数据的正确传输至关重要。以下将详细介绍在Java中...
在Spring MVC框架中,处理HTTP GET请求时遇到中文乱码问题是一个常见的开发难题。这个问题主要源于请求参数在URL中编码时使用的是UTF-8以外的字符集,导致服务器接收到的参数解码后出现乱码。本文将深入探讨这个问题...
本主题聚焦于一个常见问题——“IE浏览器在GET请求下中文乱码的问题”。这涉及到字符编码、HTTP协议以及浏览器解析网页的方式等多个知识点,我们将详细探讨这些问题及其解决方案。 首先,我们需要理解GET请求。在...
使用过滤器实现GET请求和POST请求的中文乱码问题,只需在自己的Web应用中的web.xml中配置该filter即可使用。
在IT行业中,网络请求是应用程序与服务器之间交互的...提供的压缩包文件“get、post请求中文乱码处理方式一”可能包含了更具体的代码示例和详细说明文档,建议下载后详细阅读,以便更深入地理解和应用这些处理方法。
### Java后台发起HTTP请求处理中文乱码 ...综上所述,通过合理设置编码以及正确处理请求和响应参数,可以在Java后台发起HTTP请求时有效解决中文乱码问题。这对于提高系统的稳定性和用户体验至关重要。
下面将详细解析GET请求乱码的原因、解决方案以及如何正确处理字符编码,确保数据传输的准确性。 ### GET请求乱码的原因 #### 1. 编码格式不一致 GET请求中的参数是通过URL传递的,而URL在传输过程中可能会被多次...
在这个场景下,我们关注的是如何解决在使用JMeter 5.0版本时遇到的请求参数中文乱码问题。 首先,中文乱码问题通常是由于字符编码不一致导致的。在HTTP请求中,如果服务器和客户端对字符编码的理解不同,就可能导致...
在JSP中,当使用Ajax进行GET请求时,可能会遇到中文乱码的问题。这通常是由于URL编码不匹配或处理不当导致的。以下是一些解决这个问题的关键知识点和步骤: 1. **URL编码问题**: URL编码是一种标准,用于将特殊...
然而,当GET请求的参数包含中文字符时,由于编码格式不一致或者处理不当,可能会出现中文乱码的问题。本篇文章将详细介绍如何快速解决这一问题。 首先,我们需要理解乱码产生的原因。在HTTP请求中,URL(统一资源...
总的来说,解决C++使用CHttpConnect类进行HTTP文件上传时的中文参数乱码问题,关键是确保正确地编码请求头和请求体,以及正确地处理服务器的响应。通过遵循这些步骤,并检查每个环节的编码和解码过程,你可以成功地...
在Java Web开发中,经常遇到的一个问题是处理GET请求中的中文参数时出现乱码。这个问题主要是因为浏览器发送GET请求时,参数默认使用ISO-8859-1编码格式,而服务器端通常采用的是其他编码(如GBK、UTF-8等)。当...
解决 POST GET 请求乱码问题 在 Web 开发中,POST 和 GET 请求可能会出现乱码...解决 POST 和 GET 请求乱码问题需要对服务器和应用程序进行配置和编码处理。在实际开发中,我们需要根据具体情况选择合适的解决方法。
在Java Web开发中,我们经常会遇到GET请求参数乱码的问题,尤其是在处理包含中文字符的URL时。这个问题可以通过使用Servlet Filter来解决。过滤器(Filter)是Java Servlet API的一部分,允许我们在请求到达目标...
在Web开发中,中文字符的乱码问题是一个常见的问题,特别是在使用DOGET和DOPOST请求时。今天,我们将讨论DOGET和DOPOST中文乱码问题的解决方案。 DOGET和DOPOST请求中的中文乱码问题 在使用DOGET和DOPOST请求时,...
中文乱码问题在Java中的表现多种多样,例如,从文件读取中文数据时显示为乱码,通过HTTP请求接收的中文内容显示异常,或者在控制台上打印中文字符出现乱码等。这些问题的根源在于编码的不统一,比如文件是GBK编码,...
在IT行业中,尤其是在Web开发领域,处理中文文件名在浏览器请求响应中出现乱码的问题是一项常见的挑战。这个小工具包的出现,旨在提供一个解决方案,帮助开发者顺利地处理包含中文字符的文件名,确保在传输过程中...
以下将详细解释如何解决Java中处理POST和GET请求时的中文乱码问题。 **POST请求的处理** 1. **表单页面设置**:在HTML表单所在的页面头部,使用`<meta>`标签指定页面的字符集,例如`<meta ...