zoukankan      html  css  js  c++  java
  • 下载文件乱码处理

    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

  • 相关阅读:
    [Docker]一键部署gitlab中文版
    [Docker]python 2.7.5 docker-compose安装
    [CentOS7]pip安装
    快速傅里叶变换FFT
    HDU 4734 f(x)
    DP
    HDU 3555 Bomb
    HDU 5898 odd-even number
    将文本拷贝到剪贴板
    数论分块
  • 原文地址:https://www.cnblogs.com/miye/p/11958683.html
Copyright © 2011-2022 走看看