GMail发送邮件时主题中包含的汉字无法正确显示 [英] Chinese Characters Included in Subject When GMail Sends Mail Can't Be Displayed Correctly

查看:71
本文介绍了GMail发送邮件时主题中包含的汉字无法正确显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过GMail API使用javascript发送邮件.如果邮件主题为中文字符,则无法在"GMail收件箱"中正确显示.

I send a mail in javascript via GMail API. If mail subject has Chinese Characters,it cant't display correctly in GMail Inbox.

消息中有汉字没问题.

var email = '';
email =
    'Content-Type: multipart/mixed;boundary="foo_bar_baz"\r\n'+
    "To: " + $('#compose-to').val() + "\r\n" +
    "Subject: 这里是中文字符" +"\r\n\r\n";

email += "--foo_bar_baz\r\n" +
       "Content-Type: text/html;charset='UTF-8'\r\n" +
       "Content-Transfer-Encoding: 8bit\r\n";
email += "\r\n" + $('#compose-message').val()+"\r\n\r\n";

email += "--foo_bar_baz\r\n" +
    "Content-Type: application/pdf;attachment;filename=5678.pdf\r\n" +
    "Content-Transfer-Encoding: base64\r\n" +
    "Content-Disposition: attachment;filename=5678.pdf\r\n\r\n" +
    file_ + "\r\n\r\n";

var sendRequest = gapi.client.gmail.users.messages.send({
  'userId': 'me',
  'resource': {
    'raw': window.btoa(unescape(encodeURIComponent(email))).replace(/\+/g, '-').replace(/\//g, '_')
  }
});

推荐答案

我添加代码'=?UTF-8?B? ?='主题字符串,它可以工作.如下.

I add code '=?UTF-8?B? ?=' to subject string and it works. As follows.

var email = '';
email =
    'Content-Type: multipart/mixed;boundary="foo_bar_baz"\r\n'+
    "To: " + $('#compose-to').val() + "\r\n" +
    "Subject: =?UTF-8?B?"++window.btoa(unescape(encodeURIComponent('这里是中文字 
    符')))+"?=" +"\r\n\r\n";

这篇关于GMail发送邮件时主题中包含的汉字无法正确显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆