WicketでFORMのPOST後に文字化け
(Wicket.1.4-rc2 + Jetty + Windows環境)
xhtmlのXML宣言でUTF-8って書いても、Application#initで requestCycleSettings.setResponseRequestEncoding("UTF-8") を呼んでいても、フォームのPOST後のレスポンスでcharsetがShift_JISになる。
metaタグでcharset指定すると解消。
どーゆう理屈なんだろ?とりあえず解消したからよし。
解消してないや。Redirect After Post のRedirect直後のみ文字化けか。。。
追記:解決
- DoCoMo 端末で Style 属性が使えるようにする。Wicket編 - 宇宙行きたい
- DoCoMo 端末で Style 属性が使えるようにする。Wicket編 IE爆発しろの巻 - 宇宙行きたい
上記の記事を参考にContent-typeを設定していたのが影響したみたい。
Content-typeとして設定する値を application/xhtml+xml; charset=UTF-8 にしたら解決した。
charsetの無いContent-typeヘッダーを設定後にどこかの処理で、charsetが無いのでOSのデフォルトエンコーディングのcharsetを追加、って処理が行われてるのかな(OS自体がUTF-8な環境では問題なかったし)。