- - PR -
JSPの文字化けについて
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-09-10 10:19
Java Solution内の新人SEのためのJava講座「JSPコーディング・テクニック」
をWindows2000,JDK1.3,TOMCAT(jakarta-tomcat-3.2.4)で学習しています。 「第1回 作りながらJSPの活用を学ぶ」の「(3)ブックマーク登録機能の作成」の 「entry_form.jsp」を実行環境にあわせて(Linux→Windows)、「charset=euc-jp」 を「charset=Shift_JIS」に変更してブラウザ(IE6.0)で確認したのですが、 「シフトJIS」で表示されずに「西ヨーロッパ言語(ISO)」で表示されます。 拡張子を「.jsp」から「.html」に変更した場合には通常に表示されます。 この変更では、間違っているのでしょうか?他にも変更箇所がありますでしょうか? おわかりの方は、お教えください。 |
|
投稿日時: 2002-09-10 12:57
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
を外して試してみてください。 |
|
投稿日時: 2002-09-10 17:27
DaikiRyuto様
お世話になります。 回答いただいたようにmetaタグを削除してみましたが、状況は変わりませんでした。 「<%@ page contentType="text/html; charset=Shift_JIS" %>」というコードを 追加すれば、解決はするのですが記事中には、htmlファイルは、拡張子をjspに変更すれば JSPプログラムになるという事から考えると余計なタグは追加しないで動作すると思って いるんですけどね。 |
|
投稿日時: 2002-09-10 17:44
サーブレットコンテナの実装によってデフォルトのエンコーディングは違うようです。
おそらくWebsphereやWeblogicでは指定無しでも、正常に表示されると思います。 Tomcatの場合はディレクティブで直接エンコーディング名を指定します。 どのサーブレットコンテナでも動作するように、JSPの先頭にエンコーディング名を指定しておくのが一般的なやり方だと思います。 |
|
投稿日時: 2002-09-10 18:55
tomcatで
public String toUnicode(String s) throws java.io.UnsupportedEncodingException { return (new String(s.getBytes("8859_1"), "JISAutoDetect")); } |
|
投稿日時: 2002-09-10 19:21
Anthyhime様
お世話になります。 わかりました。単純にhtmlファイルの拡張子をjspに変えても環境によっては正常に表示され ない場合があるわけですね。必ず、ディレクティブタグでエンコーディング名を指定するよう にします。 |
|
投稿日時: 2002-09-10 19:27
tei様
お世話になります。 teiさんのご指示は、「public String toUnicode(String s)」を実装したテストプロを作 って、「UnsupportedEncodingException」が発生するかどうか確認して見なさいということ でしょうか? |
|
投稿日時: 2002-09-10 19:37
jspファイルが変換されてクライアントに送信されるときは、エンコーディング情報がHttpプロトコルで送られるので、METAタグは必要無かった気がします。
最初の投稿は、METAタグを外した場合はブラウザが自動的に認識してくれると思ってのものです。 おやくにたてず、すみませんんでした。 |
