【发布时间】:2017-08-27 10:14:08
【问题描述】:
我在从 php 代码发送邮件时遇到问题。我想在电子邮件中使用波兰语字符。我在堆栈上搜索了许多具有相同问题的帖子,但没有任何效果。
<?php
if(isset($_POST['submit'])){
$to = "...@gmail.com";
$from = $_POST['email'];
$name = $_POST['name'];
$phone = $_POST['phone'];
$subject = "Wiadomość ze strony";
$message = "Imię i Nazwisko: " . $name . "\nTelefon kontaktowy: " . $phone . "\n\nTreść wiadomości:" . "\n\n" . $_POST['msg'];
$headers = "From: $from \r\n".
"MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=UTF-8" . "\r\n";
mail($to,$subject,$message,$headers);
header('Location: index.html');
}
?>
我已经让我的朋友检查他的 vps 并且这段代码可以正常工作。所以服务器肯定有问题。我用的是 linuxpl.com。
我找到了解决方案。当我以 html 形式添加这一行时,波兰语字符可以正常工作。
accept-charset="ISO-8859-1"
【问题讨论】:
-
你遇到的错误是什么?
-
没有错误。波兰语字符无法正常工作,例如 Tre¶ć wiadomo¶ci: ąść
-
检查您的 php 文件是否为 utf-8 编码,同时检查 gmail 传入消息的“Content-type:”标头。
-
消息主题应以任何方式进行 mime 编码。
-
是的,我保存为 utf-8 编码。 Gmail 标头:X-PHP-Originating-Script:2211:send_email.php 来自:...@gmail.com MIME 版本:1.0 内容类型:text/html; charset=UTF-8 消息 ID:
日期:2017 年 4 月 2 日星期日 17:34:37 +0200