• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Ajax + Servlet のリクエスト時の文字化けについて)

Ajax + Servletのリクエスト時の文字化けについて

このQ&Aのポイント
  • Ajax + Servletのリクエスト時に生じる日本語文字化けに関する問題について質問です。
  • 現在、prototype.jsを使用してAjaxでservletにリクエストしていますが、servlet側で受け取ったパラメータの日本語が文字化けしてしまっています。
  • jspファイルには適切な文字コードの設定が行われていると思いますが、文字コード変換がうまくいっていないようです。設定の変更が必要な箇所を教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

prototype.jsの仕様とかはあまり詳しくないですが、 送信データはあらかじめURLエンコードが必要なんじゃないですか? new Ajax.Request('Test', { method: 'post', onSuccess: displayTest, parameters: "param1=" + encodeURIComponent("あいうえお") }); それから、JavaScriptは、通常はUTF-8を使用しますので、 HTMLの文字コードではなくUTF-8のままで送信すると思います。 Ajaxに限らずFormでも<a href="">でも、 ブラウザが送信する文字コードは送信元のHTMLの文字コードと一致するという保証はありませんので、 必ず確認、変換しないと行けないと思います。

take_july
質問者

お礼

encodeURIComponent を指定した所、上手く行くことが確認できました。 talooさん大変感謝です。 ありがとうございました。