String#getBytes()の挙動が怪しい

何ですかこれは。

    "あ".getBytes("iso-2022-jp");

これだけでjava.nio.BufferOverflowExceptionが発生するのですが。

    "ああ".getBytes("iso-2022-jp");
    "A".getBytes("iso-2022-jp");

これらは問題ありません。マルチバイト1文字がダメなようです。JavaMail関係のプログラムで、なんだか挙動が怪しいと思って調べてみたら判明した次第です。

ググってみたら、すぐにヒットしました。かなり前からあった問題のようです。

JDK1.5では直っているらしいですが・・・来週リリースなのに今さらVMのバージョン変更はできませんよー。

回避策を検討中。マルチバイト1文字の場合は〜〜〜というロジックを組まねばならないのでしょうか。いやだなあ。