2017-04-02 7 views
-1

PHPコードからメールを送信する際に問題があります。私は電子メールメッセージに磨きをかける文字を使いたい。私は同じ問題でスタック上の多くのポストを検索しましたが、何も動作しません。PHPはutf-8で電子メールメッセージのコードを送信します

<?php 
if(isset($_POST['submit'])){ 
$to = "[email protected]"; 
$from = $_POST['email']; 
$name = $_POST['name']; 
$phone = $_POST['phone']; 
$subject = "Wiadomość ze strony"; 
$message = "Imię i Nazwisko: " . $name . "\nTelefon kontaktowy: " . $phone . "\n\nTreść wiadomości:" . "\n\n" . $_POST['msg']; 

$headers = "From: $from \r\n". 
      "MIME-Version: 1.0" . "\r\n" . 
      "Content-type: text/html; charset=UTF-8" . "\r\n"; 

mail($to,$subject,$message,$headers); 
header('Location: index.html'); 
} 
?> 

私の友人に彼のvpsをチェックするように頼んだので、このコードは正しく動作します。サーバーに問題があるはずです。私はlinuxpl.comを使用しています。

解決策が見つかりました。この行をhtml形式で追加すると、ポーランド語の文字がうまく動作します。

accept-charset="ISO-8859-1" 
+0

そして、あなたが取得しているエラーは何ですか? – mrun

+0

エラーはありません。ポーランド語の文字が正しく動作しません。たとえば、 トレッカーwiadomo¶ci:Ä...‡‡ –

+0

phpファイルがutf-8エンコーディングであるかどうかを確認し、gmailの受信メッセージの "Content-type:"ヘッダーも確認してください。 – umka

答えて

0
mail($to,utf8_decode($subject),utf8_decode($message),utf8_decode($headers)); 
+0

これを使用した後、私はこのようなsthを持っています: Tre ?? wiadomo?ci: –

+0

この回答には改善の余地があります。なぜこれが助けになると思うか説明できますか? UTFのデコードの内容が何か変わるのはなぜですか?無関係の注記では、これは質問に答えるための適切な方法です、私は質問にあなたの提案された編集を拒否することに投票しました。この問題に解決策を加えることは、この質問を見るかもしれない他の人々を混乱させる。 – HPierce

関連する問題