Tomcat/Kaffe/FreeBSD

FreeBSD 4.8の上のCVSバージョンのKaffeの上のTomcat 5.0.28が動かなかった直接の原因は、プロパティファイルが読めないことであった。なぜ読めないかを追求していくと、結局は"8859_1"というエンコーディングのバイト列を文字列に変換できていないことが原因であった。すなわち、Kaffeは内部のクラスライブラリで"ISO-8859-1"というエンコーディング名を"8859_1"に正規化してからiconvにかけるのだが、FreeBSDのiconvライブラリが"8859_1"というエンコーディング名に対応していなかったのだ。"8859_1"に正規化するのはJavaの動作としては間違っていないようなので、iconvのほうに問題がある。FreeBSD 5系列ではどうなのかは知らない。"ISO-8859-1"に正規化するようにクラスライブラリを書き直して対応した。