※ ChatGPTを利用し、要約された質問です(原文:データを拾うときに文字化け?)
データを拾うときに文字化け?文字化け問題の原因と解決方法
このQ&Aのポイント
Webアプリケーションでの文字化け問題について質問があります。
データを追加する際は問題なく文字化けしませんが、更新する際に文字化けが発生します。
現データをフォームに表示させることが問題の原因かもしれません。
現在、Webアプリケーションを作っているのですが文字化けが起こってしまいます。
データを追加するときは問題なし
データを更新するときに発生
となるのですが、前者と後者で同じデータでも文字化けします。(この2つには相違点は必要部分以外はありません。)
更新の時には現データをフォームに表示させていますが、それが問題でしょうか?
例
(JSP内)
<input type="text" value="ゼロ" name="aaa" />
(Java内)
String name = request.getParameter("aaa")
System.out.println(name);
でデータを変更せず(しても)JSPで送信ボタンを押すとコマンドプロンプトには意味不明の文字列が出てきます
尚、全てのデータを拾うクラス(サーブレット)には
request.setCharacterEncoding("Shift_JIS");
JSPには
<%@page contentType="text/html; charset=ISO-2022-JP" pageEncoding="Shift_JIS" %>
をつけています。
開発環境
WindowsXP Home Edition
MySQL 4.0.26
Apache Tomcat 4.1
この原因や解決方法が分かれば教えてください。
お礼
回答ありがとうございます ><%@ page contentType = "text/html; charset=shift_jis" %> これに直したら成功しました。 今日中に解決して助かりました。 >String name = request.getParameter("aaa"); String sjisName = new String(name.getBytes("8859_1"), "JISAutoDetect"); System.out.println(sjisName); コマンドプロンプトへの出力は追跡(どこで文字がおかしくなるか)のためにやっていたものなので大きな影響はありません(書いておくべきでした)。お手数をおかけしました。