「Javaでファイル名の文字化けを解決する方法は?」
Javaでファイルをダウンロードする際、ファイル名が文字化けすることがあります。これは通常、エンコーディングの問題が原因です。解決方法は次の通りです:
- ダウンロードファイルのファイル名エンコード形式をUTF-8に設定します。
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
- Apache Commons IOライブラリのFilenameUtilsクラスを使用してファイル名のエンコーディングを処理します。
String encodedFileName = FilenameUtils.encodeFileName(request, fileName);
response.setHeader("Content-Disposition", "attachment; filename=" + encodedFileName);
- javax.servlet.http.HttpServletResponseクラスのsetHeaderメソッドを使用して、ファイル名のエンコーディングを設定します。
response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + URLEncoder.encode(fileName, "UTF-8"));
上記の方法を使用することで、Javaでダウンロードしたファイル名の文字化け問題を解決し、正しくファイル名を表示することができます。