
いつもお世話になっております。
prototype.jsを用い、ajaxでservletにリクエストしていますが、
servletのjavaがパラメータを受け取ると、日本語が文字化けしてしまいます。
new Ajax.Request('Test', { method: 'post', onSuccess: displayTest, parameters: "param1=" + "あいうえお" });
上記param1をサーバー上で受け取ると以下のようになってしまいます。
縺ゅ>縺?∴縺?
jspは
<%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J">
等の設定をしており、文字コードの変換が上手くいっていないと思うのですが、どこの設定を変更すればよいかアドバイスを頂ければと思います。
よろしくお願いします。
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の文字コードと一致するという保証はありませんので、
必ず確認、変換しないと行けないと思います。
encodeURIComponent を指定した所、上手く行くことが確認できました。
talooさん大変感謝です。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PDFを(htmlのように)無限に縦...
-
正規表現で、特定の文字列を含...
-
php コールバック関数
-
ナイトボットのAliasについて
-
これってなんの電話かわかりま...
-
VBAでクイズゲームの作り方
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
-
非同期通信で掲示板を作る際の...
-
非同期通信を使うタイミングが...
-
PYTHONのtkinterについて
-
Pythonのtkinterについて
-
Pythonを勉強する道のり
-
Pythonを無料(安価)で学ぶ方...
-
RPA(PowerAutomate)の実装について
-
ワードでA3横の画面にして、文...
-
入力フォームの値をQRコードで...
-
課題なのですがどなたかコード...
-
自作の地図をグーグルマップの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
submitをボタン以外にするには
-
submitの処理の後別の画面を表...
-
1アクションでPOST・GET、両方...
-
リンクをクリックした時にform...
-
ラジオボタンで選択した項目に...
-
同じnameのhiddenで別々の内容...
-
mailtoでバイナリーファイルを添付
-
URL パラメータを使ってフォー...
-
長文のmailtoの使い方
-
フォーム要素以外にもname属性...
-
HTMLとPerl間のページ遷移につ...
-
ブラウザを使った入力フォーム
-
送信ボタン押下時に値が未入力...
-
ページがEnterで再起動されるの...
-
メールフォームの送信ボタンが...
-
HTML Formの属性actionは2つの...
-
<a href=**?***=***>をGET方式で
-
formタグのactionパラメータで...
-
checkboxを「変更不可」にでき...
-
ブラウザのテキストボックスに...
おすすめ情報