2011-12-10 20 views
1

私はニュースレターを送信しようとしていますが、私は次のようにテキストを入力するとき:二重引用符

2nd year, 3rd Special Edition “A Tribute” of 7sisters.in has been released. 
Dear Sir/Madam, 

Welcome to "7sisters.in". 

出力されます:

2nd year, 3rd Special Edition “A Tribute†of 7sisters.in has been released. 
Dear Sir/Madam, 

Welcome to "7sisters.in".` 

私はここで答えを追っ:

Correctly encode characters in a PHP mail form ("I'm" turns to be "I\'m")

私のPHPコードは次のとおりです。メールを使用する場合

$to = $allEmails[$i]; 
$subject = $sub; 
$message = $msg; 
//$message .= '<p>To unsubscribe , click here <a href="http://www.7sisters.in/index.php?menu=unsubscribe&email='.$to.'">Unsubscribe</a></p>'; 
$message .= '<br />To unsubscribe , click here '; 
$message .= "http://www.7sisters.in/index.php?menu=unsubscribe&email=".$to; 
$message = stripcslashes($message); 


$from = $from_mail; 
//$headers = "From:" . $from; 

$headers = "From:" . $from . "\r\n" . 
       "Reply-To:" . $from . "\r\n" . 
       "X-Mailer: PHP/" . phpversion(); 
$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";   

mail($to,$subject,$message,$headers); 

にはどうすれば)(適切に二重引用符に対処するのですか?

+0

stripcslashesを削除して試してみましょう。 – Bharanikumar

+1

'iso-8859-1'を' UTF-8'に変更してください。うまくいくはずです。 – zneak

+0

私はこれらの "X-Mailer:PHP /"を必要としません。 phpversion();すべて、しかし確信していない – Bharanikumar

答えて

4

エンコードに問題があります。文字列はUTF-8ですが、コンテンツタイプヘッダーには文字セットがiso-8859-1と記載されています。

メールをiso-8859-1で送信する場合は、utf8_decodeを使用して変換してください。

+0

今は2年目、3回目のスペシャルエディションになるでしょうか?の7sisters.inがリリースされました。 親愛なるサー/マダム、 "7sisters.in"へようこそ.'。 $ headers。= 'Content-type:text/html;を変更しました。 charset = iso-8859-1 'となります。 "\ r \ n"; '' $ headers。= 'へのコンテンツタイプ:text/html; charset = iso-8859-1 'となります。 "\ r \ n"; ' – Nitish

+0

Wih utf8_decode?そして、どのように文字セットを変更しましたか(あなたのコメントには2行の違いはありません)。 –

+0

これは申し訳ありません。それは '$ headers。= 'でなければなりません。content-type:text/html; UTF-8 'となります。 "\ r \ n"; \t ' – Nitish

関連する問題