脚本从webform获取数据并将其发送到邮件客户端和crm。来自webform的数据是西里尔文的。
我无法理解的是,为什么我会根据需要收到$email_subject
,"Заголовок"
和$email_message
而不是"Сообщение"
- 我得到"СообÑение"
或"=?utf-8?B?0KHQvtC+0LHRidC10L3QuNC1Cgo=?="
取决于编码方法。
echo mb_detect_encoding($email_message);
显示$ email_message是utf-8。
$email_to = "mail@mail.zu";
$email_subject = "=?UTF-8?B?".base64_encode("Заголовок")."?=";
//... here goes some code for taking data from webform, checking etc.
$email_message = "=?UTF-8?B?".base64_encode("Сообщение")."?=";
//I have also tried $email_message = mb_convert_encoding("Сообщение", "utf-8","AUTO");
$headers = 'От: '.$email_from."\r\n".
'Ответить: '.$email_from."\r\n" .
mail($email_to, $email_subject, $email_message, $headers);
答案 0 :(得分:1)
嗨允许邮件标题发送utf-8字符集在标题中添加这些行
$headers = "Content-Type: text/html; charset=UTF-8";
中推荐您
答案 1 :(得分:0)
这个
iconv ('utf-8', 'ISO-8859-5', $str);
帮助。虽然我之前尝试过,看起来我选择不合适的ISO-是错误的。令我感到困惑的是,对于邮件客户端,如Outlook,邮件或网络邮件(如gmail),没有任何问题,与CRM相反。 现在一切都好。