ホームページ  >  記事  >  バックエンド開発  >  PHPメールの文字化け問題を解決する方法

PHPメールの文字化け問題を解決する方法

藏色散人
藏色散人オリジナル
2021-09-13 10:04:022456ブラウズ

php メール文字化けの解決策: 1. 読み込んだデータのエンコード方式を「UTF-8」に設定する; 2. メール送信時にもエンコード方式を「UTF-8」に指定することができます。

PHPメールの文字化け問題を解決する方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

方法PHPメールテキストの文字化けコードの問題を解決しますか?

PHP メールの中国語文字化けの解決策

主にエンコーディングの問題:

解決策は次のとおりです:

読み取ったデータのエンコード方式が設定されます。エンコード方式は電子メールの送信時にも指定されます。

まず、base64_encode() 関数を使用して、MIME Base64 を使用してデータをエンコードします。

エンコードを追加します。タイトル文字列の前に入力します。 例: =?UTF-8?B?

もちろん、gb2312 の場合は、=?GB2312?B?

タイトル文字列の後に次を追加します。 ?=

-- --------私の設定リファレンス----------

<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<body>
<?php
if(strlen($_POST["from"]) > 1)
//if "email" is filled out, send email
{
//send email
$email = $_POST["from"] ; 
$mailto = $_POST["mailto"];
$subject = "=?UTF-8?B?" . base64_encode($_POST["subject"]) . "?="; 
$message = $_POST["message"] ;
$header = &#39;MIME-Version: 1.0&#39; . "\r\n" 
. "Content-type: text/html; charset=utf-8". "\r\n" 
. "From: <$email>"."\r\n";
//echo "mailto:$mailto<br />", "Subject: $subject<br />", "message:$message<br />", "From: $email<br />" ;
mail("$mailto", "$subject", $message, "$header" );
echo "<br />Your mail has been sent ! 
Thank you for using our Mail system ...<br />
We shall go to main page in 3 seconds <br />";
}
else{
echo "<center><h2>Welcome to Qunero-php Mail system </h2></center><br />";
echo &#39;<form method="post" action="index.php">
From : <input type="text" name="from" /><br/ >
MailTo : <input type="text" name="mailto" /><br />
Subject : <input type="text" name="subject" /><br />
Message : <br /><textarea name="message" rows="15" cols="80"> </textarea><br />
<input type="submit" />
</form>&#39;;
}
?>
</body>
</html>

推奨学習: 「PHP ビデオ チュートリアル##」 #"

以上がPHPメールの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。