ホームページ >バックエンド開発 >PHPチュートリアル >phpMailerの中国語文字化けに関する問題
phpMailer 中国語文字化け問題
phpmailer クラスライブラリを使用してメールを送信したいのですが、送信者、受信者、件名に中国語が含まれていると文字化けしてしまいます。不幸な。インターネット上で class.phpmailer.php ファイルを変更する方法をいくつか見つけました。自分ではできない着回しにしてほしくて専門家にアドバイスして欲しいです。 。よろしくお願いします。
-----解決策---------
試してみたところ、インターネットから直接コードを選択して入力したところ、タイトルも内容も文字化けしませんでした。 投稿者の php ファイルは Windows 用ですか、それとも Linux 用ですか? php ファイル自体のエンコーディングは、メーラーによって設定されたエンコーディングと一致していることに注意してください。私がダウンロードした最新の phpmailer 163 は QQ に送信され、成功しました。 <?php function postmail_jiucool_com($to,$subject = "",$body = ""){ //著者:Jiucool ウェブサイト: http://www.jiucool.com // $to は受信者のアドレスを表します $subject はメールのタイトルを表します $body はメールの本文を表します //エラー報告(E_ALL); エラー報告(E_STRICT); date_default_timezone_set("Asia/Shanghai");//東巴地区のタイムゾーンを設定します require_once('class.phpmailer.php'); include("class.smtp.php"); $mail = new PHPMailer(); //新しい PHPMailer オブジェクトが登場します $body = eregi_replace("[]",'',$body); //メール内容の必要なフィルタリングを実行します。 $mail->CharSet ="UTF-8";//メールのエンコーディングを設定します。デフォルトは ISO-8859-1 です。中国語を送信する場合は、これを設定する必要があります。そうしないとコードが文字化けします。 $mail->IsSMTP(); // SMTP サービスを使用するように設定します $mail->SMTPDebug = 1; // SMTP デバッグ機能を有効にする // 1 = エラーとメッセージ // 2 = メッセージのみ $mail->SMTPAuth = true; // SMTP 認証を有効にする $mail->Host = "smtp.163.com"; // SMTP サーバー $mail->Port = 25;//SMTPサーバーのポート番号 $mail->Username = "abcdii" // SMTP サーバーのユーザー名; $mail->Password = "xxxx" // SMTP サーバーのパスワード $mail->SetFrom('abcdii@163.com', '梁東'); $mail->AddReplyTo("abcdii@163.com","梁東"); $mail->件名 = $subject; $mail->AltBody = "メッセージを表示するには、HTML 互換の電子メール ビューアを使用してください! - www.jiucool.com から" // オプションでコメントアウトしてテストします。 $mail->MsgHTML($body); $アドレス = $to; $mail->AddAddress($address, "梁東"); //$mail->AddAttachment("images/phpmailer.gif"); // 添付ファイル //$mail->AddAttachment("images/phpmailer_mini.gif"); // 添付ファイル if(!$mail->Send()) { echo "メーラー エラー: " . $mail->ErrorInfo; } それ以外 { echo "メッセージが送信されました! おめでとうございます。メールは正常に送信されました!"; } } postmail_jiucool_com('120848369@qq.com', '私は梁東です', 'こんにちは'); ?><div class="clear"></div>