※ ChatGPTを利用し、要約された質問です(原文:GAE/Jによる入力値チェック)
GAE/Jで掲示板を作成しています。入力値チェックについての問題
このQ&Aのポイント
GAE/Jの掲示板での入力値チェックについて問題が発生しています。テキストボックスに入力した値が正常に取得できず、文字化けしてしまっています。
この問題は、リクエストパラメータからの値の取得時に発生しています。取得した値を変数ビューで確認すると、文字化けした状態で表示されています。
掲示板の出力は問題なく行えていますが、文字数制限による入力値チェックが正常に行えないため、解決策を模索しています。
GAE/Jによる入力値チェック
GAE/Jで掲示板を作成しています。
入力フォームのテキストボックスで「あああ」と入力して、ServletにGETリクエストします。
その後、Servlet側で該当のリクエストパラメータをgetParameterしたところで処理を止めて(ブレークポイントで止めて)取得した値をeclipseの変数ビューで確認すると「$B$"$"$"(B」となっています。
Servletで「あああ」に戻すのはどうすればいいのでしょうか。
※「$B$"$"$"(B」の状態でDBに保存し、その後対象データをJSPに書き出すと「あああ」と表示されています。ですから、出力は問題なく(文字化けすることなく)行えるのですが、問題は入力値チェックです。
文字数をシステム側で制限しているので、「~文字まで」というように制限しているのでgetParameterした値のlengthで文字数を判断しようとしているのですが、「$B$"$"$"(B」のように変換されたままでは正常に文字数チェックができません。
※ちなみに「$B$"$"$"(B」をコピー(CtrlC)して、メモ帳に貼り付けすると「あああ」と表示されます→これについてはよくわかりません
お礼
ありがとうございます。 無事に解決しました。JSPのpageディレクティブのcontenttypeでISO-2022-JPと指定していたから、パラメータがISO-2022-JPとなっていたのですね。 JSPでのリクエストパラメータはUTF-8でURLエンコードされるもの、という間違った既成概念があったので気づきませんでした。 助かりました。感謝します。