java中文乱码怎么解决 java编译中文乱码

用java搭建下载文件资源的网页时,如果文件名是中文的,下载时会出现乱码。这是由每个浏览器解析的不同编码方法造成的。以下工具类可以解决这个问题:package utils;import java

本文最后更新时间:  2023-04-11 18:43:27

用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; }}

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。