html邮件模板中有其他语言的问题

html邮件模板中有其他语言的问题,html,encode,Html,Encode,我试图将html代码作为一个整体传递给OneSignal服务。但是我的邮件有一些葡萄牙语内容,这些内容在邮件中被转换成其他符号。 如何将其转换为可读的葡萄牙语内容 下面是代码,我是如何在OneSignalService中传递主体的: var body = $scope.mailBody; body = body.replace("{HE_ID}", id).replace("{HE_Name}", name); body = $('<div></div>'

我试图将html代码作为一个整体传递给OneSignal服务。但是我的邮件有一些葡萄牙语内容,这些内容在邮件中被转换成其他符号。 如何将其转换为可读的葡萄牙语内容

下面是代码,我是如何在OneSignalService中传递主体的:

var body = $scope.mailBody;    
body = body.replace("{HE_ID}", id).replace("{HE_Name}", name);    
body = $('<div></div>').append(body).html();    
OneSignalService.SendMail($scope.HE_StatusTitle, body, "abc@abc.com", "xyz@mailinator.com")
var body=$scope.mailBody;
body=body.replace({HE_ID}),ID.replace({HE_Name}),Name);
body=$('').append(body.html();
OneSignalService.SendMail($scope.HE_StatusTitle,body,“abc@abc.com", "xyz@mailinator.com")

这可能是由于web表单(由服务器发送的“内容类型:”标题决定)和电子邮件中发送的内容之间的字符编码不匹配。后者可能是由
OneSignalService.SendMail()函数决定的,我不知道。它可能发送的内容类型邮件头的编码与页面上的编码不同,或者根本不发送任何编码(在这种情况下,收件人电子邮件客户端决定使用何种编码)

你问题的内容没有提供足够的信息来正确猜测到底发生了什么,但我建议如下:

  • 确保服务器在html标题中发送“Content-Type:text/html;charset=utf-8”

  • 检查邮件发件人(OneSignal)的配置,并确保其设置为以“utf-8”编码发送电子邮件(并发出相应的SMTP邮件头)

  • 您还可以将
    添加到包含邮件输入表单的HTML页面上的
    部分以及作为电子邮件发送的HTML中。但是,单凭这一点并不能保证解决这个问题(浏览器将优先考虑HTTP头,并可能忽略“meta”标记)


我尝试过添加和删除meta标记,但它保持不变。