• 下载文件乱码处理


    import org.apache.commons.lang3.StringUtils;
    
    import java.io.UnsupportedEncodingException;
    import java.net.URLEncoder;
    import java.nio.charset.Charset;
    import java.nio.charset.StandardCharsets;
    
    /**
     * @Author wd
     * @create 2019/11/29
     * Description: <br/>
     */
    public class DownloadUtil {
    
    
        /**
         * 根据浏览器返回不同编码 (解决IE乱码问题)
         *
         * @param name      文件名称
         * @param userAgent 浏览器标识
         * @param charset   编码方式
         * @return
         * @throws UnsupportedEncodingException
         */
        public static String fileNameGarbled(String name, String userAgent, Charset charset) throws UnsupportedEncodingException {
            if (StringUtils.contains(userAgent, "MSIE") || StringUtils.contains(userAgent, "Trident") || StringUtils.contains(userAgent, "Edge")) {
                //IE  Edge 浏览器
                name = URLEncoder.encode(name, "UTF8");
            } else {
                //火狐,google等其他浏览器
                // 下载显示的文件名,解决中文名称乱码问题
                name = new String(name.getBytes(StandardCharsets.UTF_8), charset);
            }
            return name;
        }
    
    }
    
    
    

    charset值为StandardCharsets.ISO_8859_1

  • 相关阅读:
    react 之 ref
    再看redux
    localtunnel内网服务器暴露至公网
    Relay GraphQL理解
    微信小程序
    React Router
    webpack
    Redux
    bootstrap
    jQuery中.bind() .live() .delegate() .on()区别
  • 原文地址:https://www.cnblogs.com/miye/p/11958683.html
Copyright © 2020-2023  润新知