美文网首页
IE下载文件文件名中文乱码

IE下载文件文件名中文乱码

作者: 赵荆州 | 来源:发表于2017-05-03 14:27 被阅读73次

    。。。。。。

    又是ie。

    刚开始尝试了下面的方法:
    if (assertIE(request.getHeader("User-Agent"))) {
    fileName = URLEncoder.encode(fileName, "UTF-8");
    } else {
    fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1")
    }

    ie,6,8,9,10 都可以通过正则msie判断,到了11变了,变了。。。。。
    后面有来了个edge。。。。。。。我不管,我认为都是IE。

    于是乎我写了下面的判断是否IE的办法。
    private static boolean assertIE(String agent) {
    Pattern pattern = Pattern.compile("^.?(msie|trident.rv:|edge).*?$",Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(agent);
    return matcher.matches();
    }

    妈的写到最后发现。。

    fileName = new String(fileName.getBytes("GBK"), "ISO8859-1")

    用上面这一行代码就可以了。。。重点是GBK。。。。。
    但是文件名里面不能有日文,例如,小泽玛利亚,苍井空这些。。。

    相关文章

      网友评论

          本文标题:IE下载文件文件名中文乱码

          本文链接:https://www.haomeiwen.com/subject/gpwktxtx.html