Railsでファイルのダウンロードに使うsend_dataですが、日本語ファイルをダウンロードしようとすると文字化けしてしまう。 さんざんググってみてもいい方法が見つからずに苦労したのでメモしておきます。 似たようなことが確かRedmineでできていたな、ということでRedmineのコードを読み解いていいたらありました。 def filename_for_content_disposition(name) request.env['HTTP_USER_AGENT'] =~ %r{MSIE} ? ERB::Util.url_encode(name) : name end url_encodeの部分です。どうやら文字列をエンコードする関数のようです。 実際に組み込んでみるとこんな感じ。 send_data(data, :filename => ERB::Util.url_encode(file