質問: java mailでメールを送信すると はしごだか『髙』が『!)』と変換できずに 文字化けしてしまいます。 これを解消するにはどうしたらよいでしょうか? メール送信の仕組みは、 JSPのフォーム=>StrutsのActionクラスにsbumit=>Java mailで送信 というような感じです。 javaのバージョンは、1.5.0_04 です。 java mail のバージョンは、わかりません・・・。
回答: 確認していませんが、「髙」はWindows-31J(MS932)には含まれるが、Shift JISには含まれない文字のようです。 参考: http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29751&am... Javaの文字列内ではUTF-8として、扱われるので入力データを適切にUTF-8に変更しなければなりません。しかし、Shift JISのデータだと判断した状態でUTF-8にエンコードすると、不正な文字として処理されてしまいます。 恐らく、FormBeanのエンコード変換部分で、日本語のエンコードの処理を行ったりしていると思うのですが、その際に、Shift JISとして扱っているはずです。その部分を、Windows-31j(MS932)として扱ってあげることにより、対処できるのではないでしょうか? 参考: