Tomcat XML JSP Bug

TomcatでXML形式のJSPを使用すると、日本語が文字化けするバグが…
どこで発生しているかはわかって、どうすれば解決するかもわかったんだけど、もっとエレガントな解決方法があるはず。
ちなみに、ソースコード作者は、XMLパーサはそれぐらいやってくれるだろ、というようなコメントをつけているけど、駄目なよう。DOMならいけそうなんだけど、SAXだと駄目なのかなぁ。要調査です。

SAXを使うときに、自動的にXML文書のエンコーディングを判別させるためには、org.xml.sax.InputSourceのインスタンス生成時に、java.io.InputStreamを使わないといけないところでjava.io.InputStreamReaderがつかわれていました。これを修正するようにしてパッチを書きました。あとで本家へ送れたらいいかなと思います。
そこまでやって、5.0を調べてみたところ、そこら辺が大幅に書き直されて、クラス構成も変わっていました(T_T)。でも、この問題は解決されていたので、まぁいいかという感じです。
注意点としては、5.0ではXML文書のエンコーディング指定とjsp:directive.pageタグのpageEncodingアトリビュートの指定が同じでないとエラーになるという点ぐらいです。

同じカテゴリの記事: Ja-Jakarta