相关疑难解决方法(0)

编码:: UndefinedConversionError

Encoding::UndefinedConversionError - "\xC2" from ASCII-8BIT to UTF-8每次我尝试将哈希转换为JSON字符串时,我都会继续获取.我试着用[.encode | .force_encoding](["UTF-8" | "ASCII-8BIT" ]),链.encode.force_encoding,向后切换参数,但似乎没有任何工作,所以我抓住了错误是这样的:

begin
  menu.to_json
rescue Encoding::UndefinedConversionError
  puts $!.error_char.dump
  p $!.error_char.encoding
end
Run Code Online (Sandbox Code Playgroud)

菜单是续集的dataset.to_hash,内容来自MySQL DB,utf8_general_ci编码并返回:

"\ XC2"

<#Encoding:ASCII-8BIT>

无论我.encode/ .force_encoding我使用什么,编码都不会改变.我甚至试图在.gsub!(/\\\xC2/)没有运气的情况下更换琴弦.

有任何想法吗?

ruby encoding sinatra sequel

36
推荐指数
4
解决办法
4万
查看次数

接收有关Actionmailer的电子邮件并阅读纯文本正文

我正在使用IMAP从gmail接收一些电子邮件,然后使用新的Rails 3 ActionMailer接收方法解析它们.

raw_email   = imap.uid_fetch(uid, ['RFC822']).first.attr['RFC822']
email = UserMailer.receive(raw_email)
Run Code Online (Sandbox Code Playgroud)

电子邮件现在是一个Mail :: Message Class,并且:,from和:subject工作正常.但是我无法弄清楚如何从身体中获取纯文本.在Rails 3之前,我可以使用tmail_body_extractors插件来获取普通的主体.

你会如何使用Rails 3做到这一点?

Jakobinsky:email.body.raw_source离我更近了仍然给了我很多垃圾.

"--001636310325efcc88049508323d\r \nConContent-Type:text/plain; charset = ISO-8859-1\r \nContent-Transfer-Encoding:quoted-printable\r \n\r \n这是一些正文内容\ r \n\r \n - = 20\r \nVenlig Hilsen\r \nAsbj = F8rn Morell\r \n\r \n - 001636310325efcc88049508323d\r \n内容类型:text/html; charset = ISO-8859-1\r \nContent-Transfer-Encoding:quoted-printable\r \n\r \naf 邮件
-
Venlig Hilsen Asbj
= F8rn Morell
\ r \n\r \n - 001636310325efcc88049508323d--"

我应该滚动自己的帮助器来清理raw_source还是已经有方法,宝石或帮助器?

ruby ruby-on-rails

2
推荐指数
1
解决办法
3634
查看次数

标签 统计

ruby ×2

encoding ×1

ruby-on-rails ×1

sequel ×1

sinatra ×1