簡體   English   中英

PHP聯系表格編碼問題

[英]Php contact form Encoding issue

我的網站上有一個用php制作的聯系表。 問題在於它可以完美發送英文字母,但不支持俄語字母。 所以,我需要改變編碼,我該怎么做呢?

這是一個代碼:

<div id="center">
    <p class="please">Please contact us using this form.</p>
    <div id="formbox">
        <?
            if (isset ($_POST['message'])) {
            $name = @ trim ($_POST['name']);
            $contact = @ trim ($_POST['contact']);
            $message = @ trim ($_POST['message']);
            if (! $name or ! $contact or ! $message) echo ('<p style="color: red">You should fill in all the blanks.</p>');
            else { mail ("support@myemail.com",
                  "Message from Giftosite (Sender: $name)",
                  "$message \n\n Reply to: \n $contact");
                  echo ('<p style="color: green">Message has been sent, thank you!</p>');
                  $_POST['name'] = $_POST['contact'] = $_POST['message'] = '';
            }
            }
            ?>
            <form method="POST" class="form">
            <p class="formcontent">Your name:</p>
            <input name="name" value="<?=@$_POST['name'];?>">
            <p class="formcontent">Your e-mail address:</p>
            <input name="contact" value="<?=@$_POST['contact'];?>">
            <p class="formcontent">Message:</p>
            <textarea name="message" rows="6" cols="36"><?=@$_POST['message'];?></textarea>
            <p><input type="submit" value=" Send "></p>
            </form>
    </div>
</div>

在電子郵件中設置標題

$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
           'Content-type: text/html; charset=UTF-8;' . "\r\n" .
           'Reply-To: webmaster@example.com' . "\r\n" .
           'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

因此,用您的代碼代替

mail ("support@myemail.com", $message from Giftosite (Sender: $name)", "$message \n\n Reply to: \n $contact");

您將擁有

$headers = 'From: webmaster@example.com' . "\r\n" .
           'Content-type: text/html; charset=UTF-8;' . "\r\n" .
           'Reply-To: webmaster@example.com' . "\r\n" .
           'X-Mailer: PHP/' . phpversion();
mail ("support@myemail.com", $message from Giftosite (Sender: $name)", "$message \n\n Reply to: \n $contact", $headers);

您需要在發送Unicode字符之前為電子郵件設置標題,請嘗試以下操作

$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/html; charset=UTF-8' . "\r\n";
mail ("support@myemail.com",
                  "Message from Giftosite (Sender: $name)",
                  "$message \n\n Reply to: \n $contact", $header_);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM