尝试在php中设置header(),以便页面可以显示UTF-8字符
我把这个php脚本放在它自己的文件中,与一个联系人表单一起工作。php如下所示:尝试在php中设置header(),以便页面可以显示UTF-8字符,php,forms,email,character-encoding,Php,Forms,Email,Character Encoding,我把这个php脚本放在它自己的文件中,与一个联系人表单一起工作。php如下所示: <?php header('Content-type: text/plain; charset=utf-8'); $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; $from = 'From:test@127.0.0.1'; $to = 'examp
<?php
header('Content-type: text/plain; charset=utf-8');
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From:test@127.0.0.1';
$to = 'example@stackoverflow.com';
$subject = 'Ang. Website';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Ditt meddelande har skickats! Klicka på bakåt för att komma tillbaka till Microscopium.</p>';
} else {
echo '<p>Någonting gick fel, var vänlig försök igen!</p>';
}
}
?>
但错误消息仍然如下所示:
NÃngting gick fel,var vÃnlig gÃylbaka och fÃrsÃk igen
HTML头看起来像这样,如果这很重要的话
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="jq/effects.js"></script>
<script src="mail.php"></script>
<title>Microscopium</title>
</head>
显微镜
您需要确保php文件存储为UTF-8。您可以使用
确保它在UTF-8上
正如jgroenen所说:确保您的php文件存储为UTF-8。Hmm,我在sublime中使用了“编码-->UTF-8保存”,但仍然得到了无效字符。好吧,这里似乎有其他问题。我将您的代码添加到php中,并注释掉了if/else,但仍然显示错误消息?您可以尝试的另一件事是回显utf8_编码(“您的字符串”);让我知道你的结果。我很愚蠢,它一直在起作用。我正在编辑本地文件,但正在本地主机上测试该文件。现在一切都好了!
<?php
/* Set internal character encoding to UTF-8 */
mb_internal_encoding("UTF-8");
/* Display current internal character encoding */
echo mb_internal_encoding();
?>