- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データを拾うときに文字化け?)
データを拾うときに文字化け?文字化け問題の原因と解決方法
このQ&Aのポイント
- Webアプリケーションでの文字化け問題について質問があります。
- データを追加する際は問題なく文字化けしませんが、更新する際に文字化けが発生します。
- 現データをフォームに表示させることが問題の原因かもしれません。
- みんなの回答 (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"); ※申し訳ありませんが、現在確認できる環境が 手元にないので検証できていません。
お礼
回答ありがとうございます ><%@ 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); コマンドプロンプトへの出力は追跡(どこで文字がおかしくなるか)のためにやっていたものなので大きな影響はありません(書いておくべきでした)。お手数をおかけしました。