文字化けで困っています。
下記のJSPからrequest.getParameterで他のJSPに取得させようとしているのですが、文字化けが起こってしまいます。どなたか、考えられる原因をご教授お願い致します。(eclipse 3.5)
<%@page contentType="text/html; charset=Shift-JIS"%>
<html:form action="/**/***">
<select name="color_name" >
<option value="赤" selected>赤</option>
<OPTION value="青">青</option>
<OPTION value="黄">黄</option>
<OPTION value="緑">緑</option>
</select></TD>
</html:form>
--------------------------------------------------------
<%@page contentType="text/html; charset=Shift-JIS"%>
<%=request.getParameter("color_name") %>
No.7ベストアンサー
- 回答日時:
> <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
JSPはUTF-8で保存されているのよね?
で、ブラウザではちゃんとUTF-8で表示できているかしら。
ブラウザで右クリック>エンコードで確認してみて?
多分Shift_JISになってしまっているでしょう。
> <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
に変更したあと、一度Tomcatのワークを削除してみて。
具体的には、JSPがコンパイルされてできたjavaファイルとclassファイルの2つね。
その後再表示すると直るかも。
この回答への補足
ご回答ありがとうございます。
ブラウザで右クリック>エンコードで確認したのですが、UTF-8でした。
また、javaファイルとeclipseのナビゲーターからclassファイルを削除したのですが、変わりませんでした。
報告が遅れてしまっていました。一応お伝えしておきます。他の二つのJSPでは<input type・・・>からのrequest.getParameterは成功しています。
No.6
- 回答日時:
1.eclipse 3.5を開いてウィンドウより設定を開く
2.サーバーのインストール済みランタイム環境を開く
3.Apache Tomcat v5.5を選択し消去
4.その後追加を押し、Apache の中のApache Tomcat v5.5を選択
5.新規サーバーランタイムのワークベンチデフォルトJREを
jdk1.6.0_13(環境依存)に設定して完了する
いつも自分はこうやって直しています。
正直もっとスマートなやり方があると思われますがJavaは
専門分野ではないので不格好な方法で失礼
参考URL:http://www.searchman.info/java_eclipse/1090.html
No.5
- 回答日時:
useBodyEncodingForURI="true"
については補足的な説明なのでどうでもいいです。
やってるのは下の回答部分で確認してるので。
問題なのはそれをちゃんと反映させているかどうかです。
初心者がよくやることですが、Tomcatの設定を直してそれで終わりという人が結構多いという点を心配しています。
あなたが直したserver.xmlはTomcatなのかeclipse 3.5のほうなのかが一番の疑問点です。
Tomcatのserver.xmlを直してもeclipse 3.5で開発をしているのならまったく意味がありません。
eclipse 3.5を使用する際にTomcatを読み込んだと思いますが、それをもう一度やり直す必要があります。
それかやったことはないですがC:\eclipse\workspace\サーバー\Tomcat v5.5 サーバー @ localhost-config
の中のserver.xmlを直接編集すれば文字化けを防げるかも・・・
この回答への補足
ご回答ありがとうございます。
「C:\eclipse\workspace\サーバー\Tomcat v5.5 サーバー @ localhost-config
の中のserver.xml」を直接編集したのですが結果は同じで
申し訳ありませんが、「eclipse 3.5を使用する際にTomcatを読み込んだと思いますが、それをもう一度やり直す必要があります。」というのがよく分からないので具体的な方法をお教えいただけると、
ありがたいです。
よろしくお願いします。
No.4
- 回答日時:
Postで送ればその現象は防げたはず。
Tomcat5の仕様でGETで送った場合の文字列のデコードに必ずISO8859-1が使われる。
サーブレット中でエンコーディングをかけてもデフォルトは無視されるので
C:\Apache\Tomcat 5.5\confのserver.xmlの中身の
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
の後に useBodyEncodingForURI="true"/>
をつけてやれば後はサーブレットのほうでSetCharacterEncoding()でいけたはず。
eclipse使ってるならTomcatの再読み込み忘れないように
No.3
- 回答日時:
その文字化けは
UTF-8のテキストをShift_JISで表示しようとすると出る
タイプね。
つまり、サーバからブラウザに転送されているデータは
UTF-8になっているってことね。
JSPファイルがUTF-8で保存されているでしょ?
それが原因よ。
pageディレクティブにpageEncodingでファイルの保存エンコーディングである
UTF-8を指定してあげるといいわ。
この回答への補足
ご回答ありがとうございます。返答が遅れてすみません。
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>を
早速試したのですが、結果は同じでした。
No.2
- 回答日時:
ぶっちゃけ
「JSP 文字化け」だけでぐぐれば解法は見つかるのよ。
そこに「ISO-8859-1」を入れても変わらないけど。
実際にぐぐって見ればわかるけど
文字化けにはいろいろ種類・パターンがあるのよ。
どんな風に文字化けしているのか私には見えないから
具体的な施策を提示することは無理なのよ。
せめてどんな風に文字化けするのか教えてくれないかしら。
まずはそこからはじめましょう。
この回答への補足
「赤」の出力が、UTF-8の「襍、」で出力されます。
request.setCharacterEncoding("Shift_JIS");
などを使ったのですが、変換されず「襍、」のままです。
server.xmlの方の<Connecter ~>にも
useBodyEncodingForURI="true" を追記したりしましたが、
駄目でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しいURL指定しているにもかか...
-
Eclipseでクラスファイルが生成...
-
eclipseで表示されるJavadocの...
-
開発初心者です。eclipseでJS...
-
warファイルをEclipseにインポ...
-
Eclipseのデバッグ機能が正常に...
-
Eclipseでプロジェクトのコピー...
-
eclipse3.3でGlassFishを使う
-
Eclipseでパッケージ・エクスプ...
-
Eclipseでプロジェクト...
-
eclipaseからプロジェクトが消...
-
eclipseで1ファイルの警告を100...
-
Gitlabで既存のプロジェクト(...
-
★Eclipse で、プロジェクトから...
-
eclipseのデバッグ時のステップ...
-
eclipseのプロジェクトを移動する
-
「プロジェクト参照」と「ソー...
-
結論 ①例外処理のオーバヘッド...
-
eclipseのjspファイル作成について
-
Eclipseで、プロジェクト名のと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しいURL指定しているにもかか...
-
eclipseで1ファイルの警告を100...
-
Eclipseでクラスファイルが生成...
-
「プロジェクト参照」と「ソー...
-
Eclipseでパッケージ・エクスプ...
-
デバック時に「ソースが見つか...
-
開発初心者です。eclipseでJS...
-
「満桁」について
-
Eclipse 動的プロジェクトで404...
-
★Eclipse で、プロジェクトから...
-
Eclipseのデバッグ機能が正常に...
-
warファイルをEclipseにインポ...
-
eclipseのプロジェクトを移動する
-
インポートしたjarファイルが見...
-
Eclipseでプロジェクト...
-
「リソース(app.dicon)が見つか...
-
eclipseのデバッグ時のステップ...
-
eclipseで表示されるJavadocの...
-
Eclipseでソースを追加する方法
-
Eclipseで複数ファイルをコンパ...
おすすめ情報