ダウンロード可能なファイル名をエンコードしたいのですが。ąęćżźのようなポーランド語でファイル名を設定したい。これは私のコードです:
response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode("ŻżŹźĄą", 'UTF-8'))
Chromeで動作しますが、MozillaFirefoxでは正しく表示されません。
エンコーディングを正しく設定するにはどうすればよいですか?
動作しません。HTTPヘッダーには、暗黙的にASCIIであるが、最新のLatin1エンコーディングが必要です。UTF-8で名前をエンコードするための標準はありません。あなたが文字を分解するならば、Yoluはより良くなるでしょう。これを参照してください:HTTPでContent-Dispositionヘッダーのファイル名パラメーターをエンコードする方法は?
ChromeとIEにバグがあるからです。「%」は、RFC 5987で定義されているエンコーディングを使用しない限り、Content-Dispositionパラメータで特別なものではありません。