# try to reencode to utf8 manually with ruby1.8
begin
if h = email.header[:subject]
- if m = h.value.match(/^=\?([^\?]+)\?/)
+ # http://tools.ietf.org/html/rfc2047#section-4
+ if m = h.value.match(/=\?([^\?]+)\?[BbQq]\?/)
subject = Redmine::CodesetUtil.to_utf8(subject, m[1])
end
end
--- /dev/null
+From: John Smith <JSmith@somenet.foo>
+To: "redmine@somenet.foo" <redmine@somenet.foo>
+Subject: Re: =?iso-2022-jp?b?GyRCJUYlOSVIGyhCCg=?=
+Date: Fri, 1 Jun 2012 14:39:38 +0200
+Message-ID: <87C31D42249DD0489D1A1444E3232DD7019D6183@foo.bar>
+
+Fixture
assert_equal ja, issue.subject
end
+ def test_add_issue_with_mixed_japanese_subject
+ issue = submit_email(
+ 'subject_japanese_2.eml',
+ :issue => {:project => 'ecookbook'}
+ )
+ assert_kind_of Issue, issue
+ ja = "Re: \xe3\x83\x86\xe3\x82\xb9\xe3\x83\x88"
+ ja.force_encoding('UTF-8') if ja.respond_to?(:force_encoding)
+ assert_equal ja, issue.subject
+ end
+
def test_should_ignore_emails_from_locked_users
User.find(2).lock!