如何发送带有特殊字符的 Mandrill 消息?
How to send Mandrill message with special characters?
我正在使用 Mandrill 向我们的会员发送邮件。
发送普通短信完美无缺。
但是带有特殊字符 (ä,ë,ï,ö,ü,€,...) 的消息不会附加到 Mandrill 的 'html' =>
变量中。
谁能告诉我如何通过 Mandrill 发送带有特殊字符的消息?
我尝试用 str_replace
和 preg_replace
编辑 $message_content
变量,目前 none 有效。
当我在输入消息内容时使用 ï
和 €
时,它工作得很好。但是当按下提交按钮时,我似乎无法更改它。
这是我的代码:
<?
if(isset($_POST['submit']) {
$subject = $_POST['subject'];
$from_name = $_POST['from_name'];
$from_email = $_POST['from_email'];
$message_content = nl2br($_POST['message_content']);
$mail_to_members = array();
$mail_to_members[] = array('email' => 'name@domain.com');
$mail_to_members[] = array('email' => 'name@domain.com');
//Get Mandrill API
require_once './include/src/Mandrill.php';
$mandrill = new Mandrill('API-key');
//Create mail
$message = array(
'subject' => $subject,
'from_name' => $from_name,
'from_email' => $from_email,
'html' => $message_content,
'to' => $mail_to_members,
);
$mandrill->messages->send($message);
}
?>
尝试使用 htmlentities
它将所有特殊字符转换为 HTML 个实体。
例如:
<?php
$string = 'ä - ë - ï - ö - ü - €';
echo htmlentities($string);
胜出:
ä - ë - ï - ö - ü - €
任何遵循标准的 HTML 解析器都可以显示它们。
我们遇到了完全相同的问题,我们使用以下方法解决了它:
mb_convert_encoding($message_content, 'UTF-8', 'ASCII');
它将您的内容从 ASCII 转换为 UTF-8。
我正在使用 Mandrill 向我们的会员发送邮件。
发送普通短信完美无缺。
但是带有特殊字符 (ä,ë,ï,ö,ü,€,...) 的消息不会附加到 Mandrill 的 'html' =>
变量中。
谁能告诉我如何通过 Mandrill 发送带有特殊字符的消息?
我尝试用 str_replace
和 preg_replace
编辑 $message_content
变量,目前 none 有效。
当我在输入消息内容时使用 ï
和 €
时,它工作得很好。但是当按下提交按钮时,我似乎无法更改它。
这是我的代码:
<?
if(isset($_POST['submit']) {
$subject = $_POST['subject'];
$from_name = $_POST['from_name'];
$from_email = $_POST['from_email'];
$message_content = nl2br($_POST['message_content']);
$mail_to_members = array();
$mail_to_members[] = array('email' => 'name@domain.com');
$mail_to_members[] = array('email' => 'name@domain.com');
//Get Mandrill API
require_once './include/src/Mandrill.php';
$mandrill = new Mandrill('API-key');
//Create mail
$message = array(
'subject' => $subject,
'from_name' => $from_name,
'from_email' => $from_email,
'html' => $message_content,
'to' => $mail_to_members,
);
$mandrill->messages->send($message);
}
?>
尝试使用 htmlentities
它将所有特殊字符转换为 HTML 个实体。
例如:
<?php
$string = 'ä - ë - ï - ö - ü - €';
echo htmlentities($string);
胜出:
ä - ë - ï - ö - ü - €
任何遵循标准的 HTML 解析器都可以显示它们。
我们遇到了完全相同的问题,我们使用以下方法解决了它:
mb_convert_encoding($message_content, 'UTF-8', 'ASCII');
它将您的内容从 ASCII 转换为 UTF-8。