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

使用java搭建下载文件资源web页面时,如果文件名为中文,会面临下载时乱码的情况,这是由于每个浏览器解析的编码方式不同造成的,以下工具类可以解决该问题:

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;    }}
(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论