麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

Java下載文件時文件名亂碼問題解決辦法

2019-11-26 16:11:35
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

public static String toUtf8String(String s) {

             StringBuffer sb = new StringBuffer();
             for (int i = 0; i < s.length(); i++) {
                 char c = s.charAt(i);
                 if (c >= 0 && c <= 255) {
                     sb.append(c);
                 } else {
                     byte[] b;
                     try {
                         b = Character.toString(c).getBytes("utf-8");
                     } catch (Exception ex) {
                         exceptionUtil.error("將文件名中的漢字轉為UTF8編碼的串時錯誤,輸入的字符串為:" + s);
                         b = new byte[0];
                     }
                     for (int j = 0; j < b.length; j++) {
                         int k = b[j];
                         if (k < 0)
                             k += 256;
                         sb.append("%" + Integer.toHexString(k).toUpperCase());
                     }
                 }
             }
             return sb.toString();
         }

         /**
          * 根據不同瀏覽器將文件名中的漢字轉為UTF8編碼的串,以便下載時能正確顯示另存的文件名.
          * 
          * @param s
          *            原文件名
          * @return 重新編碼后的文件名
          */
         public static String toUtf8String(HttpServletRequest request, String s) {
             String agent = request.getHeader("User-Agent");
             try {
                 boolean isFireFox = (agent != null && agent.toLowerCase().indexOf("firefox") != -1);
                 if (isFireFox) {
                     s = new String(s.getBytes("UTF-8"), "ISO8859-1");
                 } else {
                     s = StringUtil.toUtf8String(s);
                     if ((agent != null && agent.indexOf("MSIE") != -1)) {
                         // see http://support.microsoft.com/default.aspx?kbid=816868
                         if (s.length() > 150) {
                             // 根據request的locale 得出可能的編碼
                             s = new String(s.getBytes("UTF-8"), "ISO8859-1");
                         }
                     }
                 }
             } catch (UnsupportedEncodingException e) {
                 e.printStackTrace();
             }
             return s;
         }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人性爱视频在线观看 | 成人毛片100部免费观看 | 7777在线视频免费播放 | 91九色免费视频 | 免费毛片电影 | av手机在线免费播放 | 久久国产精品久久久久 | 欧美三日本三级少妇三级99观看视频 | 日韩精品中文字幕一区 | 毛片在线视频免费观看 | 欧美亚洲国产成人 | 精品不卡 | 欧美女孩videos | 国产午夜精品一区 | 久久国产精品久久久久久久久久 | 日韩一级电影在线观看 | 国产一级αv片免费观看 | 午夜在线观看视频网站 | 久久久国产精品成人免费 | 久久精品超碰 | 成人毛片免费看 | 国产精品视频专区 | 精品亚洲va在线va天堂资源站 | 色毛片| 久久久久久久久久久影视 | 高清国产午夜精品久久久久久 | 国产69精品久久久久孕妇黑 | 亚洲精品一二三区 | 色综合一区二区 | 久久久久久久久久美女 | 欧美成人激情在线 | 黄污网址| 精品一区二区三区免费毛片爱 | 欧美日韩免费观看视频 | 成人在线视频在线观看 | 黄色免费在线电影 | 成人午夜视频免费 | 国产在线观看91精品 | 中文欧美日韩 | 色诱亚洲精品久久久久久 | 久久影院一区二区三区 |