
EclipseでJSP、Servletの開発をしております。
文字化けについての質問なのですが、ブラウザ上で表示される文字が
文字化けしてしまいます。JSPの頭に
<%@page contentType="text/html; charset=SHIFT_JIS"%>
と入れており、ブラウザでもエンコードはShift_JISとなっています。
自分なりに原因を調べたのですが、○○.jsp→○○_jsp.javaに変換?する際に
文字化けしているようで、Eclipse上でJSP、Servletを見ると普通なのですが、
○○_jsp.javaは見事に文字化けしていました。
文字化けした○○_jsp.javaを削除して再度表示(_jsp.javaの再作成)も試みた
のですが、同じ結果でした。
1ヶ月以上触っていないパッケージのソースも突然文字化けを起こしたので
原因も分からない状態です。
原因・直し方がお分かりの方、是非ともご指南下さい。
情報不足でしたら追記させて頂きますので、どうぞ宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
Eclipseの文字コードの設定は、これから作成するファイルに関しては
「ウィンドウ->設定->一般->ワークスペース」で
「テキスト・ファイル・エンコード」にて指定できます。
ただし、これだとすでに作成したファイルの文字コードは変更されないため、
対象ファイルを右クリックし、「プロパティ->リソース」で変更できます。
>テキストエディタで開くと文字化けしていないのに、何故かEclipseで開くと文字化けし、稀に(きっかけは不明だが)ブラウザ(FireFox)上でも文字化けした状態で表示される。
これも上記で設定すれば解決すると思います。
テキストエディタは何を使っているのかわからないですが、テキストエディタ側ではShift-jisで読み込んで、EclipseではUTF-8?で読み込んでいるために起きているのが原因だと思います。
ちなみに、JSPをインクルードする際、インクルードされるJSPに
<%@ page pageEncoding="SHIFT-JIS" %>
を指定しないと文字化けする可能性があります。(インクルードする側とされる側両方にContentTypeをしていすると、される側のContentTypeは無効化され、される側の文字コードを判断する手立てがなくなってしまうため)
ご親切に色々調べて下さり、ありがとうございました。
補足なども含め、参考にさせて頂き解決しました。
まことにありがとうございます。
No.3
- 回答日時:
#2です。
すみません。自分で試して見たのですが前の回答だけでは解決しませんでした。
そこで少し調べてみました。
jspからjavaファイルに変換されたものをEclipseで開くと文字化けするのはjavaファイルがUTF-8で作成されているのが原因です。(デフォルトではUTF-8で作成するため)
Windowsで作成していてEclipseの文字コード設定をいじっていない場合はテキスト・ファイル・エンコーディングはMS932もしくはWindows-31Jになっていると思います。
そのため、EclipseではMS932で開こうとしてもファイルはUTF-8なので文字化けが起きてしまいます。
テキストエディタで開いた場合は自動で文字コードを認識しているため文字化けが起きていないのだと思います。
対処方法としては最終的にShift-jisで表示したい場合、それに統一すればいいと思います。
Eclipseの設定は前の回答に書いたとおりです。
あとはTomcatでjspからjavaを作成するときの文字コードを以下のようにして設定します。
%TOMCAT_HOME%\conf\web.xml
<servlet>
<servlet-name>jsp</servlet-name>
======省略======
<load-on-startup>3</load-on-startup>
</servlet>
の箇所に
<init-param>
<param-name>javaEncoding</param-name>
<param-value>Shift-jis</param-value>
</init-param>
を追加します。
何度かやってるうちに文字化けしてしまう現象に関しては試していませんが、おそらくこれで解決すると思います。
No.1
- 回答日時:
Eclipseのテキストファイルエンコードは何ですか?
UTFとかになってませんか?
よくわからなければ、メモ帳でjspファイルを開いて名前をつけて保存のとこにでてくる文字コードがUTFとかになってませんか?
もしそうなら、ファイル自体がSJISでないので、charsetも変更する必要があります。
この回答への補足
早速のご解答ありがとうございます。確かに『メモ帳でjspファイルを開いて名前をつけて保存のとこにでてくる文字コードがUTFとかに』なっていました。
どのように設定するのでしょうか?
また、質問を追記させて頂きます。
>>自分なりに原因を調べたのですが、○○.jsp→○○_jsp.javaに変換?する際に
>>文字化けしているようで…(略
この後気付いたのは、「テキストエディタで開くと文字化けしていないのに、何故かEclipseで開くと文字化けし、稀に(きっかけは不明だが)ブラウザ(FireFox)上でも文字化けした状態で表示される。」
事です。
○○_jsp.javaを削除し、再ビルドしたばかりの時などは、Eclipse上では文字化けしていますが、ブラウザでは正しく表示されたりもします。
何度かやっていくうちにEclipseで見えるような文字化けがブラウザでも出てしまうのです。
現在は単体テスト段階なのですが、_jsp.javaをテキストエディタで表示してエラー部分を確認している状態です。
引き続き何かご存知でしたら、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS HTMLエディタBracketsの文字化け 3 2022/04/28 14:50
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Evernote Evernote(エバーノート)の文字化け 1 2022/04/05 19:30
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- HTML・CSS docxをmht形式で保存したファイルをedgeで開くと文字化けする 1 2022/07/29 13:14
- Windows 10 パソコン初期化の件です 2 2022/06/05 11:05
- HTML・CSS CSSファイルの日本語コメントが文字化けしてしまう 3 2022/12/26 15:50
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
Eclipse「リフレッシュ」と「ク...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
javaクラスファイルをEclipseで...
-
eclipse でclassesフォルダーが...
-
【Eclipse】パッケージ・エクス...
-
eclipseでjarのエクスポートが...
-
org.apache.tools.zip.* を使っ...
-
サーバから落としてきたWebアプ...
-
ResourceBundleクラスの使い方
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
earファイルを展開する方法
-
ejb-jarファイルの間違いが分か...
-
JARファイル・JARコマンドに関して
-
コンパイルした後 java (class...
-
javaで3Dを作りたいんですが、...
-
JARの使い方
-
FileWriterで8kb以上書き込むに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
classファイルについて
-
SVFの設定について:クラスパス...
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
earファイルを展開する方法
-
eclipse でclassesフォルダーが...
-
「メイン・マニフェスト属性が...
-
jdbcドライバのjarファイルにク...
-
【Eclipse】パッケージ・エクス...
-
java クラスファイルとソースコ...
-
プログラム実行の際に、「ソー...
-
EclipseでHTTP404エラーが出る。
-
Jarコマンドでマニフェストファ...
-
「main メソッドを持つクラスが...
-
サーバから落としてきたWebアプ...
-
EclipseでのJSP・Servlet開発に...
-
「削除するか、クラスパスの正...
-
ファイルのパスの取得について
-
VisualStudioでC++クラスを追加...
おすすめ情報