2008年9月5日金曜日

なんというトラップ Tomcatでの文字化け(続報)

GETパラメータに日本語を渡すとTOMCATで化ける件、 別の環境では以前の対応ではダメでした。

別の環境と言っても違いはマーナーバージョン位なのですが・・・
上手く行った環境 tomcat 6.0.16
ダメだった環境 tomcat 6.0.18
JREのマイナーバージョンも違うと思いますが、さすがにそこは関係ないでしょう。

しょうがないので回避しようとしていろいろやってみた結果、以下のコーディングで文字化けを復元することができました。
JSPのエンコーディングはWindows31-Jです。
String nihongo = request.getParameter("name");
nihongo = new String(nihongo.getBytes("iso8859_1"), "Windows31-J");

つまり、、、何という先祖がえり。

# request.getCharacterEncoding() したら"Windows31-J"でした。わけ分からん。

0 件のコメント: