*SableVMで日本語Encoding(Shift_JIS, Windows-31J)の追加方法 SableVMが使用しているSableVM-Classpath(Sunのrt.jarに相当)にはShift_JIS、Windows-31J、EUC-JPなどの日本語Encodingが利用できないため、JavaのAPIで提供されているCharsetProviderを利用してJREにCharsetを追加してあげます。 Tomcat4を起動している場合は手順実施後に再起動が必要です。 >KUROBOX-PRO:~# /usr/lib/sablevm/jre/lib >KUROBOX-PRO:/usr/lib/sablevm/jre/lib# mkdir ext >KUROBOX-PRO:/usr/lib/sablevm/jre/lib# cd ext >KUROBOX-PRO:/usr/lib/sablevm/jre/lib/ext# wget http://prdownloads.sourceforge.jp/jeextension/25616/gnu-charset-ja-jp_1.0.0.jar >KUROBOX-PRO:/usr/lib/sablevm/jre/lib/ext# ls -l >total 12 >-rw-r--r-- 1 root root 10887 2007-05-30 17:54 gnu-charset-ja-jp_1.0.0.jar ※なぜか/usr/lib/fjsdk/jre/lib/extの指す/usr/lib/sablevm/jre/lib/extがないため、extを作成してからwgetでCharsetProviderをダウンロードします。 試しにサンプルプログラムで有効なCharsetをすべて表示してみます。 > KUROBOX-PRO:~#vi DisplayCharsets.java > public class DisplayCharsets { > public static void main(String[] args) { > java.util.Map map = java.nio.charset.Charset.availableCharsets(); > java.util.Iterator enum = map.keySet().iterator(); > while (enum.hasNext()) { > String key = (String) enum.next(); > java.nio.charset.Charset val = (java.nio.charset.Charset) map.get(key); > System.out.println(key + "=" + val.aliases()); > } > } > } > KUROBOX-PRO:~#javac DisplayCharsets.java > KUROBOX-PRO:~#java DisplayCharsets Shift_JIS、EUC-JP、Windows-31Jが表示されていれば成功です。 ---- 最終更新日:&date()