IE 11ダウンロード添付ファイル名の文字化けしの問題を解決する
/**
*
* @throws UnsupportedEncodingException
*/
public static String encodeChineseDownloadFileName(
HttpServletRequest request, String pFileName) throws UnsupportedEncodingException {
String filename = null;
String agent = request.getHeader("USER-AGENT");
if (null != agent){
if (-1 != agent.indexOf("Firefox")) {//Firefox
filename = "=?UTF-8?B?" + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(pFileName.getBytes("UTF-8"))))+ "?=";
}else if (-1 != agent.indexOf("Chrome")) {//Chrome
filename = new String(pFileName.getBytes(), "ISO8859-1");
} else {//IE7+
filename = java.net.URLEncoder.encode(pFileName, "UTF-8");
filename = StringUtils.replace(filename, "+", "%20");//
}
} else {
filename = pFileName;
}
return filename;
}
また、IEの構成を変更しても良いし、
1.Win+R入力gpedit.mscはグループポリシーエディタ2を開く.コンピュータ構成→管理テンプレート→windowsコンポーネント→Internet Explorer→カスタムユーザエージェント文字列3にナビゲートします.ダブルクリックで開く設定が起動し、文字列「MSIE 9.0」を入力します.[OK]をクリックします.ブラウザを再起動すると有効になります
転載先:http://blog.csdn.net/dracotianlong/article/details/22687891