[前][次][番号順一覧][スレッド一覧]

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...         ]