java web上传下载乱码问题解决方法

文件下载中文乱码,因为http请求url和header要求只能通过ascii码,对于其他字符则不行,需要转码。而不同浏览器的处理方式右不一样。

解决方法一:

	/**
	 * 乱码解决
	 * @throws UnsupportedEncodingException
	 * */
	private static String toUtf8BytesString(String fileName, HttpServletRequest req) throws UnsupportedEncodingException {
		//return new String(fileName.getBytes("GBK"), "ISO8859-1");
		if(req.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){
			return URLEncoder.encode(fileName, "UTF-8");
		}else{
			return new String(fileName.getBytes("UTF-8"), "ISO8859-1");
		}
	}

解决方法二:

  这种方法在 windows 中文系统新版firefox、ie、chrome下下载不会乱码,不知道其他系统默认字符集非gbk的会不会有问题

new String(fileName.getBytes("gbk"), "ISO8859-1")

参考资料:

http://www.ruanyifeng.com/blog/2010/02/url_encoding.html

  

时间: 2024-11-11 08:33:30

java web上传下载乱码问题解决方法的相关文章

java实现上传下载积分方法

原文:java实现上传下载积分方法 代码下载:http://www.zuidaima.com/share/1550463242472448.htm 类似牛币的加减分数的方法,上传加分,下载减分,下载一样的不加不减. java实现上传下载积分方法

28、java文件上传下载、邮件收发

文件上传下载 前台: 1. 提交方式:post 2. 表单中有文件上传的表单项: <input type="file" /> 3. 指定表单类型: 默认类型:enctype="application/x-www-form-urlencoded" 文件上传类型:multipart/form-data FileUpload 文件上传功能开发中比较常用,apache也提供了文件上传组件! FileUpload组件: 1. 下载源码 2. 项目中引入jar文件

Robot Framework--13 RFS+AutoItLibrary测试web上传下载

转自:http://blog.csdn.net/tulituqi/article/details/21888059 Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过还是会有部分情况下会脱离Selenium2library的控制,无法进行操作.比如说下载文件的时候,要选择保存文件在什么地方,比如说上传文件的时候,要选择上传哪个文件,这些在Selenium2library下都没有很好的处理办法.但是结合上AutoItLibrary,就可以很好的来进行处理了.结合A

Java Sftp上传下载文件

需要使用jar包  jsch-0.1.50.jar sftp上传下载实现类 package com.bstek.transit.sftp; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import co

SecureCRT上传下载数据的方法

转自http://blog.sina.com.cn/s/blog_4af3b94f0101kfw5.html ———————————————————————————————————————————————————— SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能.比ftp命令方便多了,而且服务器不用再开FTP服务了.rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具. windows端需要支持ZModem的telnet/ssh客户端

java ftp 上传下载工具类

1 package com.mohecun.utils; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStream; 9 import java.io.OutputStre

java ftp上传下载

/** * Description: 从FTP服务器下载文件 * @param url FTP服务器hostname * @param port FTP服务器端口 * @param username FTP登录账号 * @param password FTP登录密码 * @param remotePath FTP服务器上的相对路径 * @param fileName 要下载的文件名 * @param localPath 下载后保存到本地的路径 * @return */ public static

java文件上传下载

文件上传首先要引入两个核心包 commons-fileupload-1.2.1.jar commons-io-1.4.jar 下面是对文件上传和下载的一些代码做的一个简单封装,可以方便以后直接使用[使用时将封装好的jar包直接导入工程中即可使用] 上传文件核心代码 1 package com.lizhou.fileload; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOExcepti

java 文件上传下载--基于ajaxFileUpload+struts2

jQuery插件ajaxFileUpload可以实现ajax文件上传,使用非常简单. 下面做一个简单的demo(以上传图片为例),实现图片上传,图片显示,图片下载 注:以下的代码是在项目的基础上进行开发.css样式文件.包路径等未做修改. 1. ajaxFileUpload文件下载地址http://www.phpletter.com/Demo/AjaxFileUpload-Demo/ 2.自行引入jquery.js.ajaxFileUpload.js文件 jsp核心代码: [html] view