差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| study:java:jmail [2008/05/01 00:56] – banana | study:java:jmail [2010/02/22 13:50] (現在) – banana | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== JavaMail 日本語の文字化け ====== | ====== JavaMail 日本語の文字化け ====== | ||
| ここでは、**%%JavaMail%%**を利用しメッセージを送る時、起こる文字化けについて纏めたいと思う。\\ | ここでは、**%%JavaMail%%**を利用しメッセージを送る時、起こる文字化けについて纏めたいと思う。\\ | ||
| - | ちなみに、メイラーによる文字化けの現象に関してはreferenceを参考してほしい。\\ | + | ちなみに、メイラーによる文字化けの現象に関しては[[jmail#reference|reference]]を参考してほしい。\\ |
| タイトルと本文に分けて紹介しよう。テスト環境は以下のとおり。\\ | タイトルと本文に分けて紹介しよう。テスト環境は以下のとおり。\\ | ||
| ^ 区分 ^ 環境 ^ | ^ 区分 ^ 環境 ^ | ||
| 行 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 |
| + | {{keywords> | ||
| ===== mail subjectの文字化けについて ===== | ===== mail subjectの文字化けについて ===== | ||
| 行 18: | 行 19: | ||
| ((MimeMessage)msg).setSubject(" | ((MimeMessage)msg).setSubject(" | ||
| </ | </ | ||
| + | |||
| + | |||
| ===== mail contentの文字化けについて ===== | ===== mail contentの文字化けについて ===== | ||
| 行 27: | 行 30: | ||
| msg.setContent(" | msg.setContent(" | ||
| </ | </ | ||
| - | 二つはContent-Transfer-encodingの設定だ。MUAによっては" | + | 二つはContent-Transfer-encodingの設定だ。MUAによっては" |
| <code java> | <code java> | ||
| msg.setHeader(" | msg.setHeader(" | ||
| 行 33: | 行 36: | ||
| + | |||
| + | |||
| + | ===== converting UTF-8 to iso-2022-jp ===== | ||
| + | charsetがutf-8で指定されている環境(JSP, | ||
| + | 次の手順を従えばいい。\\ | ||
| + | ここでは、WindowsのOSを基準に説明する。 | ||
| + | Unicodeをそのまま**「iso-2022-jp」**で変換してしまうと化けてしまうので、途中でWindowsの一般的なcharset(" | ||
| + | この際、**「iso-2022-jp」**で変換すると化けてしまうので、注意しなくてはならない。 | ||
| + | 最後は、メール本文を**「text/ | ||
| + | 結果的に、MUAでは日本語(自動選択)と認識される。次はencodingを行う部分だけ抜粋した部分だ。 | ||
| + | <code java> | ||
| + | // | ||
| + | String message = new String(src.getBytes(" | ||
| + | // | ||
| + | msg.setContent(message, | ||
| + | </ | ||
| + | ちなみに**「text/ | ||
| + | |||
| + | P.S)一部の特殊文字(例:「㈱」等)、Shift_JISで変換する際、文字化けするのがあるのでなるべくUTF-8のままで送信するのが望ましい。 | ||
| 行 87: | 行 109: | ||
| - | ===== reference ===== | ||
| - | - [[http:// | ||
| - | - [[http:// | ||
| + | |||
| + | ===== reference ===== | ||
| + | - [[http:// | ||
| + | - [[http:// | ||
| + | - [[http:// | ||
| + | ]] | ||
| + | ~~DISCUSSION~~ | ||