2012-02-13 10 views
1

私は、ユーザーからの入力を受け付ける件名、内容フィールドを持つjspフォームを持っています。プログラムはメールを送ります。ここでは、両方のフィールドがStringオブジェクトとして設定されています。日本語や中国語のメールキャラクターを送った後は、迷惑メールとして来る。 "英語"のように件名がうまくいけば件名を日本語文字でエンコードできませんでした

これは私が件名フィールドに漢字 test messageなどの対象と与えられたメールを送信していた私のコード

// create a message 
    MimeMessage msg = new MimeMessage(session); 
if(subject != null) 

     msg.setSubject(subject, "UTF-8"); 
     //msg.setSubject(subject);//commented to take care of email 

    // create the Multipart and add its parts to it 
    //MimeMultipart mp = new MimeMultipart(); 
    MimeMultipart mp = new MimeMultipart("alternative"); 

    if(body != null) 
    { 
     // create and fill the first message part 

     MimeBodyPart mbp1 = new MimeBodyPart(); 
     mbp1.setText(body); 
     mbp1.setHeader("Content-Type","text/html;charset=utf-8"); 
     mbp1.setHeader("Content-Transfer-Encoding", "quoted-printable"); 
     //mbp1.setContent(body, "text/html"); 
     mp.addBodyPart(mbp1); 
    } 

です。私は日本語文字のために迷惑文字を取得しています。だから私はメッセージの件名を取得しています?? test message

しかし、私はメールを受け取ってもまだ件名にいくつかの迷惑な文字を取得します。

+0

jspページのヘッダーにあるページエンコーディングとは何ですか?ブラウザはどのようなエンコーディングを使用していますか? – bmargulies

答えて

1

対象文字列はどのように作成されましたか?フォームデータを送信するときにユーザーのブラウザで使用される文字エンコーディングを考慮に入れましたか?文字列に正しいUnicode文字データが含まれていることを確認しましたか?

関連する問題