рельсы 3 почты жемчужина - PullRequest
0 голосов
/ 10 мая 2011

У меня есть тема из электронного письма, которое приходит в мое приложение rails 3, например:

Я пытаюсь затем сохранить эту тему в своей базе данных (mongodb) как строковое поле, используя mail.subject, но я получаю сообщение об ошибке «String not valid UTF-8» ??

Кто-нибудь знает, как мне это решить?

большое спасибо рик

1 Ответ

0 голосов
/ 10 мая 2011

Вы не показали ни одного примера кода, но похоже, что возвращаемая тема не в кодировке UTF-8, а ваша база данных.Попробуйте использовать force_encoding перед сохранением объекта.

mail.subject.force_encoding("UTF-8")

РЕДАКТИРОВАТЬ:

Для рубина 1.8.7, бесстыдно украденного у String.force_encoding () в Ruby 1.8.7 (или Rails 2.x)

require 'iconv'
class String
  def to_my_utf8
    ::Iconv.conv('UTF-8//IGNORE', 'UTF-8', self + ' ')[0..-2]
  end
end

А потом ...

mail.subject.to_my_utf8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...