Java Web 開発では、ファイルのダウンロード機能でファイル名が文字化けする問題がよく発生します。
この問題に対する解決策はブラウザごとに異なります。
IE の場合、URLEncoder を通じてファイル名を UTF8 エンコードします。
他のブラウザ (Firefox、Chrome、safari、opera) では、バイトを ISO8859-1 に変換する必要があります。
Java ダウンロード ファイル名の中国語文字化けの解決策:
response.setCharacterEncoding("utf-8"); response.setContentType("application/msword"); String fileName="哈哈哈哈.doc"; if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) { fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器 } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) { fileName = URLEncoder.encode(fileName, "UTF-8");// IE浏览器 }else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) { fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌 } response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
Java の詳細については、Java 基本チュートリアル を参照してください。
以上がJavaダウンロードで中国語のファイル名が文字化けする問題を解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。