在邮件程序

时间:2017-08-28 06:12:53

标签: ruby-on-rails internationalization rails-i18n

我目前正在开设一个多语言网站,现在已经在原有的日语和英语语言之上添加了中文语言支持。不幸的是,到目前为止我们一直在使用charset: 'ISO-2022-JP,这意味着许多中文字符会在发送给用户的电子邮件中呈现为问号。理想的解决方案是使用UTF-8,但遗憾的是,这对日语字符有一些问题。

我已经使用此代码发送与用户语言相关的电子邮件:

def set_language
  language_mapping = {
    0 => "ja",
    1 => "en",
    2 => "zh"
  }
  used_language = @reservation.user.language
  I18n.locale = language_mapping[used_language]
end

有没有办法为charset添加某种条件来连接到它?目前,我的邮件帮助者有charset: 'ISO-2022-JP',但我想对中文('zh')或英文('en')组中的任何用户使用UTF-8。一种简单的方法是每次只手动添加字符集,但这似乎不是最“干”的方法。

为清晰起见编辑:行charset: 'ISO-2022-JP'位于顶部的默认设置中。

如果这是一个非常愚蠢的问题,请提前道歉,但我似乎无法弄明白。

1 个答案:

答案 0 :(得分:0)

最终找到了一个非常简单的解决方案。应用默认为UTF-8,所以我只是将其添加到任何需要ISO-2022-JP的邮件程序中:

charset: (@reservation.user.language == 0 ? 'ISO-2022-JP' : 'UTF8'),