- - PR -
TomcatサンプルのServletが文字化けする
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-11-02 20:48
はじめて投稿します。
よろしくお願いします。 以下の環境でTomcatの使用を考えています。 Windows2000Pro SP4 Tomcat 3.3.2 JDK 1.3.1_13 バイナリ版をダウンロード&解凍してみたのですが、 サーブレットのサンプルページの表示がおかしくなってしまいます。 具体的には、文字の一部が「????」という表示になってしまいます。 例えばRequest Infoの場合、 タイトル、項目名が「????」となっていしまいますが、 取得した値(GETなど)は正常に表示されます。 画面を右クリック→エンコードを 試してみたのですが、効果ありませんでした。 画面表示以前の処理の問題かと思っています。 ちなみに、JSPのほうでは表示に問題ありません。 初歩的な質問かと思いますが、 お分かりの方、よろしくお願いします。 |
|
投稿日時: 2004-11-03 12:28
Java は内部的に文字コードが UNICODEで取り扱われるので
もしそれ以外の文字コードで何かやりたい時には明示的にコードを指定しないと うまく処理してくれません. 今回は,OSがWindows なので Encode を Shift_JIS にしないとけないのかな? Servlet が 情報を受け取る時には下の様に文字コードを指定. request.setCharacterEncoding("Shift_JIS"); Servletがブラウザに何か表示する時は response.setContentType("text/html; charset=Shift_JIS") 多分 JSPでは下のような記述を頭の方でやっていると思います. <%@ page contentType="text/html; charset=Shift_JIS" %> あと,Tomcatのバージョンによってはバグ?でいくらエンコード指定しても だめなものもありますので気を付けてください. |
|
投稿日時: 2004-12-15 15:26
各Servletソースの以下の部分を修正して、再コンパイルすれば正しく表示されます。
response.setContentType("text/html"); ↓ response.setContentType("text/html; charset=Shift_JIS"); |
|
投稿日時: 2004-12-15 18:21
ああ、それってTomcat3.x系で同じことがあったのを覚えている。
確かResourceBundle系のプロパティファイルを削除すれば直った 気がしました。 遠い昔なので正確には覚えてない。 |
|
投稿日時: 2004-12-21 10:45
返答が遅くなってしまってすみません。
Yamaさん、stepさん、ぽちさん、 みなさんありがとうございました。 Tomcat3.X系のサンプルServletを そのまま使おうとすると、 こういった現象が起こるようですね。 最初は自分の環境の問題かと思って心配していました。 ありがとうございました。 |
1
