日本語ファイル名の扱い

日本語(というか非asciiの)ファイル名のファイルをダウンロードさせるとき、firefox だとファイル名のエンコーディングリンク元のページのエンコーディングが一致していれば、URL に日本語のファイル名をそのまま書いても落とせるのだけど、IE だと URL が化けてエラーになる。

php の urlencode() 関数でファイル名をエンコードしたやつでリンクしたらうまくいった、と思ったらファイル名に空白(0x20)があると + に変換されてしまうのでダメだと判明。しょうがないので urlencode() した後で + を %20 に置換するようにしたけどなんかダサいなぁ。。。