試しに hotmail のアカウントに「てすと.txt」というファイルを送って,
Firefox 3.0.14 でダウンロードしたところ
Windows では「_てすと.txt_」
Mac OS X では「"てすと.txt"」
というファイル名になりました.
Windows でアンダーバーになるのはファイルシステムの制約から
ダブルクォーテーションが使えないためです.
ダウンロードした時の応答には以下のようなヘッダが含まれていました.
コード:
Content-Disposition: attachment; filename*=utf8'"てすと.txt"
この記述方法は RFC2231 で定義されており,
ファイル名の文字コードは「utf8」でファイル名は「"てすと.txt"」だ,
という意味ですので, hotmail 側のバグです.
正しくは以下のいずれかのようになります.
コード:
Content-Disposition: attachment; filename*="utf8'てすと.txt"
Content-Disposition: attachment; filename*=utf8'てすと.txt
他のブラウザで起きないというのはそもそも hotmail が返す応答が異なるためです.
例えば IE では,
コード:
Content-Disposition: attachment; filename="%e3%81%a6%e3%81%99%e3%81%a8.txt"
となっています. これは UTF-8 の文字列を URL エンコードしたものです.
また, Chrome では以下のようになり「txt.txt」というファイル名で保存されました.
コード:
Content-Disposition: attachment; filename=".txt"
これも hotmail 側のバグのようです.
一方「test.txt」というファイルではブラウザによらず以下のようなヘッダとなり
両 OS とも「test.txt」で保存できました.
コード:
Content-Disposition: attachment; filename="test.txt"
というわけで, Firefox には一切の非はないと思います.