使用PHP和特殊字符从联系表单发送邮件[重复]

Posted

技术标签:

【中文标题】使用PHP和特殊字符从联系表单发送邮件[重复]【英文标题】:Sending mail from contact form with PHP and special characters [duplicate] 【发布时间】:2013-04-08 09:40:11 【问题描述】:

恐怕我不是程序员,但我仍在努力帮助客户解决他网站上的一个恼人问题。

这是他mailing.php的一部分:

$headers = "MIME-Version: 1.0\r\n"; 
$headers = "Content-Type: text/html; charset=UTF-8";

但是,当在他的网络邮件中查看时,他得到的是 á ñ 等(即使在点击 view as html 时也是如此)。

我已经进行了一些搜索,但要么我应用的解决方案很差,要么什么的。

【问题讨论】:

你怎么知道这不是放入电子邮件的内容? 我自己测试它,我把它邮寄到一个 gmail 帐户和一个我可以用 squirrelmail、gmail 检查的帐户......很棒的“á é í ó ú ñ”等,但是当我打开它在松鼠邮件中......我不断得到那些可怕的角色。我刚刚重新检查了字符集是否正确设置在具有我从中捕获数据的表单的 php 中。 感谢您抽出宝贵时间,Lucifer,decss 解决了这个问题。 【参考方案1】:

Diego Martinez,您的字母编码取决于:

    脚本的编码(例如 sendmail.php) 在变量中编码文本,您将在信中发送(如果您的文本是 fe) 信头

使用notepad++操作文件(脚本)编码,它可以转换你的文件(编码/转换为...)你的文件必须有UTF-8编码

更改文本编码使用iconv()

$text = iconv('utf-8', 'iso-8859-2', $text);

它将$textutf-8转换为iso-8859-2

标题。我明白了,你知道如何改变它:)

【讨论】:

太棒了,它绝对成功了!在我的场景中,只有修改字符集为 iso-8859-1,因为 -2 不会采用“ñ”。非常感谢您的宝贵时间。

以上是关于使用PHP和特殊字符从联系表单发送邮件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 HTML 发送邮件 [重复]

PHP表单发送正确,但我没有收到电子邮件[重复]

PHPMailer发送没有表单数据的邮件[重复]

php表单不发送联系电子邮件

使用 firebase 功能和 nodemailer 从联系表单发送电子邮件

php表单不发送联系电子邮件