Radiant CMS - Content Management Simplified

http://radiantcms.org/

遂に Rails の CMS が..

アジャイル(オブジェクト指向スクリプト)言語 Ruby
http://www.ruby-lang.org/ja/
サイトも Radiant CMS で 模様換え @_@ すばらしい!

前田さん GoodJob!!!

ActiveMailer の subject 文字化け

Railsメールは ActiveHeart で日本語化するのが定番で、そのように実装してきたのですが、メールsubject は MIMEエンコードが必要。
メールにかけられた呪文「MIME〜前編」
http://www.atmarkit.co.jp/fnetwork/rensai/netpro03/netpro01.html

ActiveHeartだけではこの MIME対応が無いので、そのままではsubjectは文字化けしてしまいます。

西さん(舞波乙)の「Ruby on Rails入門」では、このMIME対応 BASE64メソッドも紹介されているので、はまった人は是非買いましょう。(はまらなくても絶対おすすめですけど)

で買ったのでこれでOKOKと思ってやってみたものの、どうもまだ文字化け。

Rails Chat
http://andworkspace.net/

に助けを求めたところ xibbarさまより 次の技を伝授頂きまして、文字化け解消! 多謝!!

  subject "=?ISO-2022-JP?B?"+[NKF.nkf("-jW","ほげ")].pack("m").delete("\r\n")+"?="

ruby 1.8.2 以降はNKF2.0.5相当で nkfの引数説明はここ↓
Rubyリファレンスマニュアル - nkf
http://www.ruby-lang.org/ja/man/?cmd=view;name=nkf

一部抜粋します。

 :
j,s,e,w  Outout code is JIS 7 bit (DEFAULT), Shift JIS, AT&T JIS (EUC), UTF-8
         After 'w' you can add more options. (80?|16((B|L)0?)?)
J,S,E,W  Input assumption is JIS 7 bit , Shift JIS, AT&T JIS (EUC), UTF-8
         After 'W' you can add more options. (8|16(B|L)?)
t        no conversion
i_/o_    Output sequence to designate JIS-kanji/ASCII (DEFAULT B)
r        {de/en}crypt ROT13/47
h        1 katakana->hiragana, 2 hiragana->katakana, 3 both
m[BQN0]  MIME decode [B:base64,Q:quoted,N:non-strict,0:no decode]
M[BQ]    MIME encode [B:base64 Q:quoted]
 :

nkfで入力文字コードがUTF8で出力がJISの場合に入力文字コード自動判定に不具合あり?かも?