私のサイトから GB2312%D5%D5%C6%AC.JPG というファイル名のファイルをダウンロードしようとしましたが、すべて IE9/Firefox ではうまくいきますが、Google Chrome ではうまくいきません。
Google Chrome では、このファイル名はダウンロード ページ名に置き換えられます (Chrome がファイル名のデコードに失敗した可能性があります)。
Chrome がファイル名をデコードしようとしているかどうかを確認するために、別の文字列 GB2312%2C%2D%2E.txt をファイル名として使用しようとしましたが、firefox/IE9 は引き続き期待どおりに動作しますが、Google Chrome はこのファイル名をデコードしようとします (% を置き換えます) '-' 付きの 2D)。
Google Chrome がファイル名をデコードしないようにする方法は? サーバー側(PHP)でこの問題を解決できればより良い
次の行は、サーバーによって生成された応答ヘッダーです。
**Response Headers:**
Cache-Control:must-revalidate, post-check=0, pre-check=0, private
Connection:keep-alive
Content-Description:File Transfer
Content-Disposition:attachment; filename="GB2312%D5%D5%C6%AC.JPG"
Content-Length:121969
Content-Transfer-Encoding:binary
Content-Type:application/force-download; charset=UTF-8
Date:Wed, 18 Apr 2012 03:32:30 GMT
Expires:0
Pragma:public
Server:nginx/1.1.5
X-Powered-By:PHP/5.3.8