2011-12-08 18 views
3

我面臨的一些問題與UTF-8和的ActionMailer。我的應用程序有一個表單(聯繫人),當它被提交時,它會向我發送一封電子郵件。的問題是,當有人進入一些字符像öäüß,我接收經編碼像例如UTF-8和的ActionMailer

=?UTF-8?Q?funktioniert_oder_nicht.=0D=0A=0D=0Ameine_Stra=C3=9Fe_ist_die?= 
=?UTF-8?Q?_Bratwurststra=C3=9Fe=0D=0A=0D=0A=C3=B6=C3=A4?= 

據我所知,每默認的ActionMailer是UTF-8準備的消息。分析從我的服務器日誌,提交表單時,該PARAMS已得到很好的編碼(這意味着我可以讀我的日誌中AUO)

約我應該改變任何想法?我應該更改我的應用程序以支持ISO-8859-1嗎?

環境:紅寶石1.9和3.1軌道

+0

的Ruby 1.8或1.9? 1.9應該爲你做unicode處理。 – Reactormonk

+0

嘗試設置'#編碼:UTF-8'在的ActionMailer觀點 –

+0

已經是頂部。 Web服務器日誌顯示參數是UTF-8,我認爲問題與郵件配置本身有關。 –

回答

4

你所得到的UTF-8字節逃脫quoted-printable

SS是 「\ XC3 \ x9F」 - > 「= C3 = 9F」

String#unpack('M')會對其進行解碼:

$ ruby -e 'puts "Bratwurststra=C3=9Fe=0D=0A=0D=0A=C3=B6=C3=A4".unpack "M"' 
Bratwurststraße 

öä 

`