尝试在PHP中设置标头(),以便页面可以显示UTF-8字符



我在自己的文件中放置了此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 = 'example@stackoverflow.com'; 
    $subject = 'Ang. Website';
    $body = "From: $namen E-Mail: $emailn 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ã¥g gonting gick fel,varvânliggounlig gounlig goutbakaochfã¶

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。

您可以使用mb_internal_encoding()

检查PHP的内部编码
<?php
/* Set internal character encoding to UTF-8 */
mb_internal_encoding("UTF-8");
/* Display current internal character encoding */
echo mb_internal_encoding();
?>

确保它在UTF-8上。

正如Jgroenen所说:确保您的PHP文件存储为UTF-8。

最新更新