0
Ruby on Rails에서 우편 제목을 디코딩 할 때 문제가 있습니다. 나는 인코딩 메일 제목을하려고하면 "= KOI8-R B z9Qg09XQxdLXwcraxdLB =????" RoR이 KOI8-R에서 UTF-8로 메일 제목을 인코딩하지 않습니다.
<% if /koi8-r/ =~ msg.subject or /KOI8-R/ =~ msg.subject %>
<% subj = msg.subject.gsub(/=\?.*\?B\?/, '') %>
<% subj = subj.gsub(/\?=/, '') %>
<%= Base64.decode64(subj).force_encoding("KOI8-R").encode("UTF-8", :invalid=>:replace, :replace=>"?")
얻을 오류 : 호환되지 않는 문자 인코딩 : ASCII-8BIT와 UTF-8
하지만 난 IRB에, 모두가 잘 작동 그렇게 할 경우 :
2.0.0p247 :009 > subj = "z9Qg09XQxdLXwcraxdLB"
=> "z9Qg09XQxdLXwcraxdLB"
2.0.0p247 :010 > Base64.decode64(subj).force_encoding("KOI8-R").encode("UTF-8", :invalid=>:replace, :replace=>"?")
=> "от супервайзера"
2.0.0p247 :011 >
왜 내 코드가 작동하지 않습니까? 예를 들어