• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データを拾うときに文字化け?)

データを拾うときに文字化け?文字化け問題の原因と解決方法

このQ&Aのポイント
  • Webアプリケーションでの文字化け問題について質問があります。
  • データを追加する際は問題なく文字化けしませんが、更新する際に文字化けが発生します。
  • 現データをフォームに表示させることが問題の原因かもしれません。

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

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

こんばんは myst_scientist さん まず、はじめに JSP ファイルのコンテンツタイプで 指定している charset は ISO-2022-JP ではなくて Shift_JIS でよいのではないでしょうか?  ↓ これです ↓ <%@ page contentType = "text/html; charset=shift_jis" %> それからサーブレット側で JSP ファイルで入力した 日本語を getParameter() メソッドで取得後、標準 出力などに出力すると文字化けが発生するとのこと ですが、以下のように getBytes() メソッドで変換 して見てください。 String name = request.getParameter("aaa"); String sjisName = new String(name.getBytes("8859_1"), "JISAutoDetect"); System.out.println(sjisName); "JISAutoDetect" で正しく Shift_JIS に変換され ない場合は、"Shift_JIS" にして見てください。  ↓ ↓ ↓ String sjisName = new String(name.getBytes("8859_1"), "Shift_JIS"); ※申し訳ありませんが、現在確認できる環境が  手元にないので検証できていません。

参考URL:
http://www.geocities.jp/shirokaz99/java/java-jsp.html#ghost
myst_scientist
質問者

お礼

回答ありがとうございます ><%@ 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); コマンドプロンプトへの出力は追跡(どこで文字がおかしくなるか)のためにやっていたものなので大きな影響はありません(書いておくべきでした)。お手数をおかけしました。

関連するQ&A