![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?5a7ff87)
現在、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
この原因や解決方法が分かれば教えてください。
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 …
回答ありがとうございます
><%@ 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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
【C#】DataGridViewの最大列数...
-
XMLHttpRequestでウェブページ取得
-
WordでExcelデータを差込...
-
excel access連携 このテーブル...
-
★お手上げ状態です。助けてくだ...
-
ArrayListへArrayListの格納
-
C言語で地図を描きたい
-
ActiveReportのサブレポート機...
-
JavaからPHPへの値の受け渡し
-
「外部データの取り込み」とい...
-
json_encodeが表示しない
-
西暦4桁に変換する方法
-
エクセルVBAで楽天証券に注...
-
Excel2016やWord2016のリボンの...
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
VB.NETからVBAマクロ(引数)を呼...
-
<A href ~で複数の値を渡したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DTOとEntityの差は何ですか。
-
wordの差し込み印刷で文字...
-
【C#】DataGridViewの最大列数...
-
WordでExcelデータを差込...
-
excel access連携 このテーブル...
-
ActiveReportのサブレポート機...
-
「外部データの取り込み」とい...
-
GridViewからチェックボックス...
-
★お手上げ状態です。助けてくだ...
-
INIファイルに一括書き込みを行...
-
VBA内でのGetPixelを使用した時...
-
VB.NET 2017の勉強中です。 今...
-
表を表示するコントロールについて
-
C#でのForm間のデータ受け渡し...
-
ASP.NET GridView の検索画面で...
-
C言語で地図を描きたい
-
回線速度が64kbpsだったら、64k...
-
ADOを使用してExcelファイルを...
-
MSFlexGridのデータを初期化し...
-
画像の読み込み&白黒判別プロ...
おすすめ情報