【发布时间】:2014-06-30 01:55:20
【问题描述】:
我正在使用新的 Gmail API,并且完全坚持如何正确处理 Ruby/Rails 中文本/纯文本消息和文本/html 消息的 [body][data] 部分的编码。
假设数据 = 编码的消息部分。
对其调用Base64.decode64(data).unpack("M") 会返回一个US-ASCII 编码的文本正文,其中包含许多网页上显示的缺失字符。
调用 Base64.decode64(data).encode('UTF-8') 会引发从 US-ASCII 到 UTF-8 的转换错误
但是,如果我这样做 Base64.decode64(data).encode('UTF-8', {:invalid => :replace, :undef => :replace, :replace => '?'}),我仍然会看到大量问号。
有人能指出我正确的方向吗?如何让消息正文正确编码并以 UTF-8 显示?
电子邮件 JSON 响应的格式如下:
"parts": [
{
"partId": "0",
"mimeType": "text/plain",
"filename": "",
"headers": [
{
"name": "Content-Type",
"value": "text/plain; charset=UTF-8"
},
{
"name": "Content-Transfer-Encoding",
"value": "quoted-printable"
【问题讨论】:
标签: ruby-on-rails encoding utf-8 gmail ascii