差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
study:java:jmail [2008/05/01 01:04] bananastudy:java:jmail [2010/02/22 13:50] (現在) banana
行 7: 行 7:
 |JDK|1.5| |JDK|1.5|
 |Web server|Tomcat5.5| |Web server|Tomcat5.5|
-|Mail server|Mail Enable Standard Version 1.983|+|Mail server|Mail Enable Standard Version **1.983**|
  
 {{keywords>JavaMail 文字化け Content-Transfer-encoding 7-bit}} {{keywords>JavaMail 文字化け Content-Transfer-encoding 7-bit}}
行 19: 行 19:
 ((MimeMessage)msg).setSubject("文字化けテスト","UTF-8"); ((MimeMessage)msg).setSubject("文字化けテスト","UTF-8");
 </code> </code>
 +
  
  
行 35: 行 36:
  
  
 +
 +
 +===== converting UTF-8 to iso-2022-jp =====
 +charsetがutf-8で指定されている環境(JSP, requestを含めて)でメールを送信する際、charset=iso-2022-jpであれば、
 +次の手順を従えばいい。\\
 +ここでは、WindowsのOSを基準に説明する。
 +Unicodeをそのまま**「iso-2022-jp」**で変換してしまうと化けてしまうので、途中でWindowsの一般的なcharset("MS932")でbyteストリムで読込み、**「Shift_JIS」**で変換する。\\
 +この際、**「iso-2022-jp」**で変換すると化けてしまうので、注意しなくてはならない。
 +最後は、メール本文を**「text/html;charset=iso-2022-jp」**の形式で送信すればよい。\\
 +結果的に、MUAでは日本語(自動選択)と認識される。次はencodingを行う部分だけ抜粋した部分だ。
 +<code java>
 +//srcはメール本文
 +String message = new String(src.getBytes("MS932"),"Shift_JIS");
 +//msgはMimeMessageのインスタンス
 +msg.setContent(message, "text/html;charset=iso-2022-jp");
 +</code>
 +ちなみに**「text/html;charset=Shift_JIS]**で指定した場合は、MUAで日本語(シフト JIS)で認識される。メールの確認はMicrosoft outlook2002とgmailで行った。
 +
 +P.S)一部の特殊文字(例:「㈱」等)、Shift_JISで変換する際、文字化けするのがあるのでなるべくUTF-8のままで送信するのが望ましい。
  
  
行 90: 行 110:
  
  
-===== reference ===== 
-  - [[http://www.sk-jp.com/book/javamail/contents/javamail_ja_prob.html]] : %%JavaMail%% 文字化け 
-  - [[http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=28818]] : %%JavaMail%% タイトルの文字化け 
  
  
 +===== reference =====
 +  - [[http://www.sk-jp.com/book/javamail/contents/javamail_ja_prob.html|JavaMail 文字化け]] 
 +  - [[http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=28818|JavaMail タイトルの文字化け]] 
 +  - [[http://www.langedge.jp/blog/rsd.php?itemid=348|UnicodeからShift_JISへの変換
 +]]
 +~~DISCUSSION~~
  

QR Code
QR Code study:java:jmail (generated for current page)