我正在尝试将UTF-8编码的文本从表单发送到邮件地址,但我得到的只是垃圾字符串,我完全迷失在可能错过了一些UTF-8“魔法”的地方。
我觉得我的代码中有更多UTF-8行,然后其他所有内容组合在一起。谁能发现我错过的东西?我通过几十个主题和页面来讨论同样的问题,但我找不到任何我没有做过的事情。
php文件使用:
header("Content-Type: text/html; charset=utf-8");
我也设置了这样的邮件标题:
$headers .= "Content-Type: text/plain; charset=UTF-8";
Ajax调用如下所示:
$.ajax({
url: "../php/process.php",
type: "POST",
scriptCharset: "utf-8",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
data: {
name: name,
email: email,
message: message
}
我也试过像这样设置AjaxSetup:
$.ajaxSetup({
scriptCharset: "utf-8",
contentType: "application/x-www-form-urlencoded; charset=UTF-8"
});
我的所有文件都以UTF-8(没有bom)编码,我的联系表单设置为仅接受UTF-8。 HTML文件还具有相应的元标记:
<meta charset="utf-8">
编辑澄清:电子邮件可以是所有语言,但亚洲。所以德语,法语,英语等。常用字母有效(不是它们总是吗?),但是特殊字符不起作用。
收到邮件已收到。如上所述,我的表格中还添加了以下内容。
accept-charset="UTF-8"
那么,还有什么可以尝试的?