非英文字符在 gmail、yahoo via phpMailer 中显示问题 class
non-English characters display issue in gmail, yahoo via phpMailer class
我使用 phpMailer(GitHub 中的今天版本)从我的 noreply@host.com.
发送自动 smtp 激活邮件
我在 gmail 和 yahoo 上试过了。两者都解释了如下所示的字符。
nice unwanted (realized)
Ç -> Ç
ı -> Ä
ş -> Åž
邮寄流程顺序为:
- "签名页"(具有
utf-8
编码的形式),然后
- "assess_from_sign.php"(纯php没有任何编码命令。实际
发送或失败过程在此),则
- "通知页面"(通知用户结果)
我在邮件正文中的消息以 Dear $_POST['username']
开头
我可以对 assess_from_sign.php 页面中的 $_POST['username']
变量应用什么,这样即使非英语字符看起来也完全像他们自己的语言。
注意:所有请求都重定向到我站点中的 index.php 页面,它有适用于所有页面的 mb_internal_encoding("UTF-8");
命令。
谢谢,问候
代码的所有方面都设置为相同的特定字符集,这一点很重要。我推荐你已经开始使用的 UTF-8,它涵盖了你需要的大多数字符。
下面是 "checklist" 应设置为 UTF-8 的内容。
PHP header - 这必须放在浏览器的任何输出之前,并且应该放在所有 .php 的顶部页数:header('Content-Type: text/html; charset=utf-8');
HTML header - 这也应该在所有包含 HTML 的页面中,并将其放在 <head>
标签内: <meta charset=utf-8" />
PHPMailer Object - 通过添加
指定 PHPMailer object 的字符集
$mail->CharSet = 'UTF-8';
,其中 $mail
是 object 本身。
File-encoding:文件本身应转换为 UTF8 字符集(特别是 UTF8 w/o BOM)。这因您使用的文本编辑器类型而有所不同,但在 Notepad++ 中它是格式 -> 转换为 UTF8(w/o 字节顺序标记)。
您的代码的其他方面可能需要设置为 UTF8 字符集(数据库等),但这应该涵盖 mail-properties。
你也可以参考UTF-8 all the way through.
我使用 phpMailer(GitHub 中的今天版本)从我的 noreply@host.com.
发送自动 smtp 激活邮件我在 gmail 和 yahoo 上试过了。两者都解释了如下所示的字符。
nice unwanted (realized)
Ç -> Ç
ı -> Ä
ş -> Åž
邮寄流程顺序为:
- "签名页"(具有
utf-8
编码的形式),然后 - "assess_from_sign.php"(纯php没有任何编码命令。实际 发送或失败过程在此),则
- "通知页面"(通知用户结果)
我在邮件正文中的消息以 Dear $_POST['username']
开头我可以对 assess_from_sign.php 页面中的 $_POST['username']
变量应用什么,这样即使非英语字符看起来也完全像他们自己的语言。
注意:所有请求都重定向到我站点中的 index.php 页面,它有适用于所有页面的 mb_internal_encoding("UTF-8");
命令。
谢谢,问候
代码的所有方面都设置为相同的特定字符集,这一点很重要。我推荐你已经开始使用的 UTF-8,它涵盖了你需要的大多数字符。
下面是 "checklist" 应设置为 UTF-8 的内容。
PHP header - 这必须放在浏览器的任何输出之前,并且应该放在所有 .php 的顶部页数:
header('Content-Type: text/html; charset=utf-8');
HTML header - 这也应该在所有包含 HTML 的页面中,并将其放在
<head>
标签内:<meta charset=utf-8" />
PHPMailer Object - 通过添加
指定 PHPMailer object 的字符集$mail->CharSet = 'UTF-8';
,其中$mail
是 object 本身。File-encoding:文件本身应转换为 UTF8 字符集(特别是 UTF8 w/o BOM)。这因您使用的文本编辑器类型而有所不同,但在 Notepad++ 中它是格式 -> 转换为 UTF8(w/o 字节顺序标记)。
您的代码的其他方面可能需要设置为 UTF8 字符集(数据库等),但这应该涵盖 mail-properties。
你也可以参考UTF-8 all the way through.