文字列のバイト数を取得する(英語mac)

Mac OSX 10.6.6
java 1.6.0_24
言語 英語
エンコーディング UTF-8

の環境の話ですが,ものすごくハマったのでメモ.

http://blogs.sun.com/katakai/entry/netbeans_and_java_for_mac2
に書いてあるように~/.MacOSX/environment.plistにエンコーディングを設定.
何故なら英語MacのデフォルトエンコーディングはMacRomanとかいう意味不明なのになっているのでOTL

    <key>_JAVA_OPTIONS</key>
    <string>-Dfile.encoding=UTF-8</string>

これを設定すると,String.length()が正しい値になります.
あとは,UTF-8はマルチバイトなので,Shift_JISに変換後バイト数を求める.

String string = "こんにちは";
length = string.getBytes("Shift_JIS").length;

たったこれだけのことに,ホニャララ時間もかかるとは・・・・.