【问题标题】:PHP Mail: special characters show different between Firefox and IEPHP Mail:Firefox 和 IE 之间的特殊字符显示不同
【发布时间】:2011-05-13 16:44:51
【问题描述】:

我在使用 PHP 邮件功能通过电子邮件发送表单时遇到问题。这是我正在使用的代码:

$name  = $_POST['name'];
$last_name  = $_POST['last_name'];
$company  = $_POST['company'];
$email = $_POST['email'];
$country = $_POST['country'];
$phone = $_POST['phone'];
$message = $_POST['message']); //This comes from the form

$formcontent="Name: $name $last_name <br> Company: $company <br> Email: $email <br> Country: $country <br> Telephone: $phone <br><br> Message: $message";

$mailheader  = 'MIME-Version: 1.0' . "\r\n";
$mailheader .= 'Content-type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable' . "\r\n";
$mailheader .= 'From: ' . $email . "\r\n";

mail("my@email.com", "subject", $formcontent, $mailheader) or die("Error!");

这是一种发送西班牙语和特殊字符的表单,例如ñ、重音符号、ç 等...

问题是,如果我这样使用它,它在 Firefox 3.6.3 中可以正常工作,但是在 Internet Explorer 8 中使用表单时,发送的特殊字符都被弄乱了(比如 ç 而不是C)。但是,如果我将 utf8_encode 添加到 $formcontent 中的变量中,则它在 IE 中有效,但在 Firefox 中停止工作,显示像 η 而不是 ç。

无论浏览器如何,我都可以做些什么来让它工作?任何帮助将不胜感激!

编辑:

我注意到,如果我在使用 ma​​il 发送之前回显 $formcontent 变量,如果我使用的是 Firefox,则特殊字符已经被弄乱了——向上。如何避免浏览器干扰发送的内容?拜托我现在完全一无所知!!!我不知道要改变什么才能使某些东西起作用。即使它是一个简化的版本,是否有任何替代方案可以让 PHP Mail 在两个浏览器中都使用特殊字符?

【问题讨论】:

  • 你的意思是“Internet Explorer”?

标签: php email browser special-characters


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
  • 2013-11-11
  • 2021-07-18
  • 2015-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多