Java Web——文件下载时中文文件名乱码问题解决方案

问题描述

问题分析

浏览器匹配与编码问题。

解决方案

		request.setCharacterEncoding("UTF-8");
		//response.setContentType("application/octet-stream");
		response.addHeader("content-Type", "application/octet-stream" );
		String filename = request.getParameter("filename");
		String agent = request.getHeader("User-Agent");
		if(agent.toLowerCase().indexOf("firefox")!=-1) {
			response.addHeader("content-Disposition", "attachment; filename==?UTF-8?B?" + new String(Base64.encodeBase64("问题".getBytes("UTF-8")))+"?=");
		}else {
			response.addHeader("content-Disposition", "attachment; filename=" + URLEncoder.encode("问题","UTF-8"));
		}
		

 

运行结果

教学资源

https://www.bilibili.com/video/av29086718?p=37

参考文章

发布了1358 篇原创文章 · 获赞 229 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/weixin_43272781/article/details/104001488