タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

send_fileに関するiR3のブックマーク (2)

  • send_dataで日本語ファイルが文字化ける: ドライブ(M:)

    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

  • railsでsend_fileするときに日本語ファイル名を指定するとchromeでたまに文字化けする

    railsでファイルダウンロードさせるためにsend_fileを使うときに日語ファイル名でダウンロードさせるとき、私は以下のようにしていました。 filename = "今後の予定.xls".encode("cp932") send_file(f, :filename => filename) cp932でencodeしているのは、utf-8でおくるとIEが文字化けしていたので、そうしています。 普段は、chromeでも特に問題がありません。 しかし、たまに文字化けが出ていました。 上記のファイル名の場合は「予」の部分で文字化けがおきてしまいます。 これの原因は、たぶん以下のサイトで書いてあることが影響している気配です。 https://sites.google.com/site/fudist/Home/grep/damemoji で対策として以下のようにするようにしました。 filen

  • 1