response.addHeader("Content-Disposition","attachment;filename='"+java.net.URLEncoder.encode("中文.zip","UTF-8")+"'");
[quote=引用 1 楼 sfgm521 的回复:] 使用urlencoder编码会将中文变成你在浏览器地址栏看到的%XX形式,至于选择哪种enc跟你jvm的default charset有关,因为java项目一般用的都是UTF-8编码,为了防止你的中文以其他编码方式打开的时候乱码(如果这个时候乱码了,你在编码解码也是乱码),推荐整个项目使用同一编码解码,如果你的项目用的是GBK的,那么java.net.URLEncoder.encode("中文.zip","GBK")也是完全没问题的,但如果你用其他编码比如iso8859-1就会解出来乱码了
使用urlencoder编码会将中文变成你在浏览器地址栏看到的%XX形式,至于选择哪种enc跟你jvm的default charset有关,因为java项目一般用的都是UTF-8编码,为了防止你的中文以其他编码方式打开的时候乱码(如果这个时候乱码了,你在编码解码也是乱码),推荐整个项目使用同一编码解码,如果你的项目用的是GBK的,那么java.net.URLEncoder.encode("中文.zip","GBK")也是完全没问题的,但如果你用其他编码比如iso8859-1就会解出来乱码了
[quote=引用 2 楼 xuxiaocheng1 的回复:] [quote=引用 1 楼 sfgm521 的回复:] 使用urlencoder编码会将中文变成你在浏览器地址栏看到的%XX形式,至于选择哪种enc跟你jvm的default charset有关,因为java项目一般用的都是UTF-8编码,为了防止你的中文以其他编码方式打开的时候乱码(如果这个时候乱码了,你在编码解码也是乱码),推荐整个项目使用同一编码解码,如果你的项目用的是GBK的,那么java.net.URLEncoder.encode("中文.zip","GBK")也是完全没问题的,但如果你用其他编码比如iso8859-1就会解出来乱码了
81,122
社区成员
341,744
社区内容
加载中
试试用AI创作助手写篇文章吧