java中文乱码解决方法 Java中文乱码解决



文章插图
java中文乱码解决方法 Java中文乱码解决

文章插图
使用java搭建下载文件资源web页面时 , 如果文件名为中文 , 会面临下载时乱码的情况 , 这是由于每个浏览器解析的编码方式不同造成的 , 以下工具类可以解决该问题:
【java中文乱码解决方法 Java中文乱码解决】package utils;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.Base64;public class DownLoadUtils {public static String getFileName(String agent, String filename) throws UnsupportedEncodingException {if (agent.contains("MSIE")) {// IE浏览器filename = URLEncoder.encode(filename, "utf-8");filename = filename.replace("+", " ");} else if (agent.contains("Firefox")) {// 火狐浏览器final Base64.Decoder decoder = Base64.getDecoder();final Base64.Encoder encoder = Base64.getEncoder();filename = "=?utf-8?B?" + encoder.encodeToString(filename.getBytes("utf-8")) + "?=";} else {// 其它浏览器filename = URLEncoder.encode(filename, "utf-8");}return filename;}}