- - PR -
 
JavaScript(ajax)から日本語を含むパラメータ受信時の文字化け
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  | 
 投稿日時: 2007-02-03 16:48 
いつも参考にさせて頂いております。
現在、JavaScriptとStrutsでAjaxのアプリケーションを作っています。 テキストボックスがあるフォームの送信ボタンがクリックされた時点で、 非同期にActionServletを呼び出し、Actionでパラメータを取得すると 日本語が文字化けしてしまい困っています。 JavaScriptでは、 encodeURIComponent()メソッドで、文字列をエンコードしています。 
 この場合、post_dataは 
 と、amazonなどで検索した場合にURLに表示されるエンコード結果と一致することは確認できました。 しかし、このpost_dataをURLに含めてActionを呼び出すと 
 とパラメータを取得した時点で文字化けしてしまいます。 Eclipseのコンソールには”?・±????????\\”という結果が表示されてしまっています。 何か解決策をご存知の方がいらっしゃいましたご教授をお願い致します。 [ メッセージ編集済み 編集者: ぬべたそ 編集日時 2007-02-03 17:11 ]  | ||||||||||||
  | 
 投稿日時: 2007-02-03 17:27 
URLエンコードは行わず、POSTメソッドで送信したらどうでしょうか。
TOMCATをお使いでしたら、普通は日本語が通るようにフィルタがかかっているかとおもいます。 このフィルタを通してあげれば日本語が化けないと思います。  | ||||||||||||
  | 
 投稿日時: 2007-02-03 18:12 
エンコーディングの変更用のサーブレットフィルタを利用していますか?
http://www.google.com/codesearch?q=encodingfilter+lang%3Ajava&hl=ja http://www.google.co.jp/search?hl=ja&safe=off&rls=GGLJ%2CGGLJ%3A2006-40%2CGGLJ%3Aja&q=servlet+%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=  | ||||||||||||
1
