rails:1912
From: OZAWA Sakuro <sakuro@e...>
Date: Fri, 15 Dec 2006 17:13:05 +0900
Subject: [rails:1912] send_file のファイル名
さくです。 IEでは、Content-Dispositionのファイル名が生Shift_JIS でかかれていることを期待するらしいので(トホホ)、アッ プロードされたファイルをダウンロードするコントローラに以下のよう なコードを書いてみました。 def send_file_headers!(options) super disposition = options[:disposition].dup || 'attachment' if options[:filename] ua = request.user_agent if /MSIE/=~ ua && GetText.locale.language == 'ja' file_name = Iconv.conv('Shift_JIS', 'UTF-8', options [:filename]) disposition += "; filename=#{file_name}" elsif 以下略 さて、ここでSafariからカタカナの名前を付けたファイルをアッ プロードし、IEでダウンロードしようとしたのですが、 IconvがIllegalSequence例外を出してしまいました。Mac は結合文字を分解して扱う(たとえば、濁点付きカナ「ジ」を 「シ」+(合成用)「゛」として保存)のですが、 Iconvではこれが扱えない様子。 通すためには自力で合成文字を生成するという泥臭いことをしなければ ならないようです。 -- ML: rails@r... 使い方: http://QuickML.com/
-> 1912 2006-12-15 09:13 [sakuro@e... ] send_file のファイル名 1918 2006-12-21 10:54 ┗[sakuro@e... ] 1919 2006-12-21 11:14 ┗[sakuro@e... ] 1920 2006-12-21 11:31 ┗[sakuro@e... ]