PHP mail()中的UTF-8,用于ÜÖÄ;

PHP mail()中的UTF-8,用于ÜÖÄ;,php,email,encoding,utf-8,sendmail,Php,Email,Encoding,Utf 8,Sendmail,我有这个PHP代码来发送邮件 if(Input::has('email')){ $to = Input::get('email'); $link = 'blabla'; $subject = 'blabla'; $message = "Ü Ä Ö jfklsfjal"; $headers = 'Fr

我有这个PHP代码来发送邮件

            if(Input::has('email')){
                $to      = Input::get('email');
                $link    = 'blabla';
                $subject = 'blabla';
                $message = "Ü Ä Ö jfklsfjal";
                $headers = 'From: dontreply@asdf.com' . "\r\n" .
                    'Reply-To: dontreply@asdf.com' . "\r\n" .
                    'Content-Type: text/plain;charset=utf-8\r\n' . "\r\n" .
                    'X-Mailer: PHP/' . phpversion();

                mail($to, $subject, $message, $headers);
            }
问题是,它仍然没有发送ÖÄ等。不正确(但我只是添加了内容类型)


有人知道它为什么不起作用吗?

我认为你的标题不正确,因为你有
\r\n
部分内容类型(用单引号括起来),即:

尝试将上述内容更改为:

            $headers = 'From: dontreply@asdf.com' . "\r\n" .
                'Reply-To: dontreply@asdf.com' . "\r\n" .
                'Content-Type: text/plain;charset=utf-8' . "\r\n" .
                'X-Mailer: PHP/' . phpversion();

如果不起作用,请尝试以下方法:

            $headers = 'From: dontreply@asdf.com' . "\r\n" .
                'Reply-To: dontreply@asdf.com' . "\r\n" .
                'Content-Type: text/html;charset=utf-8' . "\r\n" .
                'X-Mailer: PHP/' . phpversion();
            $headers = 'From: dontreply@asdf.com' . "\r\n" .
                'Reply-To: dontreply@asdf.com' . "\r\n" .
                'Content-Type: text/html;charset=utf-8' . "\r\n" .
                'X-Mailer: PHP/' . phpversion();