Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Ruby中的ActionMailer中将电子邮件头转换为另一种编码_Ruby On Rails_Ruby_Encoding_Actionmailer - Fatal编程技术网

Ruby on rails 在Ruby中的ActionMailer中将电子邮件头转换为另一种编码

Ruby on rails 在Ruby中的ActionMailer中将电子邮件头转换为另一种编码,ruby-on-rails,ruby,encoding,actionmailer,Ruby On Rails,Ruby,Encoding,Actionmailer,我有一个用ruby 1.8.5和rails 1.2.6编写的网站 有一个反馈页面 所以 我有一个模型课: class Feedback::Notify < ActionMailer::Base def answer_for_managers(question) recipients test@test.com from "feedback@test.com" subject "Обратная связь: ответ на вопрос"

我有一个用ruby 1.8.5和rails 1.2.6编写的网站

有一个反馈页面

所以

我有一个模型课:

class Feedback::Notify < ActionMailer::Base
  def answer_for_managers(question)
    recipients test@test.com
    from       "feedback@test.com"
    subject    "Обратная связь: ответ на вопрос"
    body       "question" => question
    content_type "text/html"    
  end
end
class反馈::Notify问题
内容类型为“文本/html”
结束
结束
然后我有一个控制器:

class Feedback::QuestionController < Office::BaseController
  def update
      Feedback::Notify.deliver_answer_for_managers(@question)
  end
end
类反馈::QuestionController
问题是,当发送消息时,其主题如下所示:4)D=0=0=0=0=0=0=8=0=0=0=0=8=0=8=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=8=0=8=0=8=0=8=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0这句话的意思是:“我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友”3=33=

所以它是url编码的

有没有办法阻止将主题文本转换为url编码?
所有文件均采用UTF8编码

如果将未转义的UTF-8字符放入头字段,则会违反相应的标准,并且该标准规定头字段只能由(7位)ASCII字符组成

因此,ActionMailer在这里做了正确的事情,并转义UTF-8字符。由于邮件头中没有说明要使用另一种编码,因此收件人(和所有中间服务器)除了遵循该标准之外没有其他机会,因为他们没有其他可能使用的编码的线索

由于RFC 822相当古老(但对于电子邮件来说仍然具有权威性),UTF-8只是不存在。转义是一种解决方法,通过它可以精确地指定您在标题中看到的内容。MUA应在渲染时取消显示文本并显示正确的图示符

请注意,完全可以在消息体中发送unicode文本(大多数情况下在MIME容器中)。在这里,可以使用附加头指定实际数据编码和传输编码。见ff。更多细节


请阅读RFC或查看上的Wikipedia条目。

我通过在ActionMailer中添加默认的“内容传输编码”=>“7bit”来解决问题

看看报纸