2016-11-20 6 views
0

私はPHPでフォームを持っています。私はPHPmailerを使って自分のGmailアカウントに送信しています。 最近、ヘブライ語のメッセージにいくつかの問題がありました。受信トレイにスクランブルされたメッセージが表示されました。attached example 私はそれが長さの問題だと思っていますが、私は限界または制限の理由を見つけることができませんでした。 **ヘブライだけがスクラップします!英語は同じままです。phpmailerに長いメッセージに関する問題があります

<?php 
error_reporting(0); 
require_once('phpmailer/class.phpmailer.php'); 
$email  = '[email protected]'; 
$subject = 'New Point Added'; 
$from  = "[email protected]"; 
?> 
<!DOCTYPE html> 
<html> 
<head> 

<meta charset="iso-8859-1"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 

     <?php if(isset($_POST['submit'])){ 
      $msg = "שם המטייל/ת:<br> ".$_POST['hiker']."<br />"; 
      $msg .= "מדינה: <br>".$_POST['country']."<br />"; 
      $msg .= "חודש ושנה:<br> ".$_POST['dob']."<br />"; 
      $msg .= "סוג:<br> ".$_POST['point']."<br />"; 
      $msg .= "שם המקום:<br> ".$_POST['place']."<br />"; 
      $msg .= "תיאור:<br> ".$_POST['description']."<br />"; 
      $msg .= "מחיר:<br> ".$_POST['price']."<br />"; 
      $msg .= "איך להגיע:<br> ".$_POST['howtoget']."<br />"; 
      $msg .= "חוויות אישיות:<br> ".$_POST['personalexp']."<br />"; 
      $msg .= "מיקום במפה:<br> ".$_POST['latitude'].""; 
      $msg .= ",".$_POST['longitude']."<br />"; 
         $headers = "From: $from" . "\r"; 
      $headers .= "MIME-Version: 1.0" . "\r"; 
      $headers .= "Content-type: text/plain; charset=ISO-8859-1"; 
      $mail = new PHPMailer(); 
      $mail->From  = $from; 
      $mail->FromName = $from; 
      $mail->Subject = $subject; 
      $mail->Body  = $msg; 
      $mail->AddAddress($email); 
      $mail->IsHTML(true); 
      $mail->headers = $headers; 
      if(isset($_FILES['file'])){ 
       $file_to_attach = $_FILES["file"]["tmp_name"]; 
       $mail->AddAttachment($file_to_attach , $_POST['hiker'].'-'.date('U').'-'.basename($_FILES["file"]["name"])); 
      } 

      $mail->Send(); 
      //mail($email,$subject,$msg,$headers); 
      ?> 
+1

あなたはそのはなってきて、UTF-8を試してみました標準。 –

+0

はい私のpreviusのバージョンはUTF-8だったし、うまくいきませんでした... –

+0

PHPMailerのようなヘッダーを設定しません - ドキュメントを読んでください!あなたが受け取ったメッセージのソースを見ると、それはあなたのためにすでにそれをしているのを見るでしょう。 – Synchro

答えて

0

まあヘブライ語は間違い ISO-8859-1では動作しません、あなたはそこに入れているテキストが、あなたが見ているのと同様に、破壊されます。 PHPMailerのデフォルトはISO-8859-1で、でなければ何かを使用する必要があります。 UTF-8を使用し、渡すデータがISO-8859-8のような他のヘブライ文字セットではなく、実際にはUTF-8であることを確認してください。あなたのHTMLに文字セットとしてUTF-8を使用し、このように、あまりにもその文字コードとしてUTF-8を使用するようにphpmailerの設定:

<meta charset="utf-8"> 

$mail->CharSet = 'UTF-8'; 
関連する問題