web-dev-qa-db-ja.com

UTF-8文字セットはPHPメールフォームでは機能しません

私は特殊文字を読む問題を解決しようとしています(さらに、Gmailの1つでそれを取得できません)このようなものを取得します "- ×œ×“×•× "およびこの" Ч“Ч•Чђ\ "ЧњЧ“Ч•"はWPブログから送信しました Stack Overflow で説明されているすべての方法を試しましたが、質問は特定のものである可能性があり、私にとってはうまくいきませんでした。そのためにプラグインを使用することはありません。

<?php 
   .....................
        if(!isset($hasError)) {


        $emailTo = '[email protected],  [email protected], [email protected] ' ;
            $subject = $_POST['subject'];
                $comments= $_POST['comments'];
                $dge= $_POST['dge'];
                $tve= $_POST['tve'];
                $weli= $_POST['weli'];
        $sendCopy = trim($_POST['sendCopy']);
        $body = "Name: $ContactName \n\nEmail: $email \n\nComments: $comments \n\n Subject :$subject \n\n Number: $phone \n\n $dge / $tve /$weli";

        mail($emailTo, ": הודעה" , $body, "Travel-Georgia" );
        ///////////////// 
        // set our boolean completion value to TRUE
        $emailSent = true;
    }
}    
?>   
    .......

                    <form id="contact-us"  method="post" accept-charset="utf-8"> .......</form>
1
Gio

電子メールに正しく表示される前に、適切な電子メールエンコード方法を使用して電子メールコンテンツをエンコードする必要があります。

私があなただったら、 wp_mail() WordPress内の関数を使用してメールを送信します。ただし、必要なエンコードがすべて実行されるかどうかはわかりません。

別の方法は、 SwiftMailer を使用して電子メールを送信することです。正しくエンコードされた電子メールを送信するために必要なすべてのエンコードおよびその他の義務を確実に処理します。

2
Tero Kilkanen