2010年2月9日火曜日

Teeda Ajax のエンコード

最近Teeda Ajaxをさわりました。その時に文字化け問題にハマったというかそれなりに対応が必要だったのでメモ。

まず、よろしくなかったのはフロントのHTMLのエンコードがShift_JISだったこと。
FormのリクエストのエンコーディングはEncodingFilterでよろしくやってるんだけど、このフィルタの設定は当然ながらShift_JISを指定している。

ところがKumu.Ajax.executeTeedaAjaxでサーバーサイドにリクエストを投げると、日本語はUTF-8でエンコードされてくる。(Ajaxを使う上では常識??)

たぶん、この差異で、UTF-8をShift_JIS扱いしているからなんだろーな、ということでweb.xmlに、
  • もう一個EncodingFilterを定義(UTF-8で)
  • *.ajaxをUTF-8のEncodingFilterにマッピング
ってやってみたんだけど現象変わらず。 tomcatのserver.xmlもやらなきゃいけないのかな・・・というところは追求せずに、自前でURLエンコード、URLデコードをするこの方法でとりあえず回避しました。

それにしてもJavaScriptを久しぶりにいじってみて、jQuery便利だなーと実感しました。

0 件のコメント: