- PR -

サンプルで文字化け

1
投稿者投稿内容
monica
会議室デビュー日: 2003/02/22
投稿数: 9
投稿日時: 2003-04-25 17:21
はじめまして。monica@JSP初心者です。

今、新人SEのためのJava講座
作りながら理解する「JSPコーディング・テクニック」(1)
でlist.jspを作っています。

31〜33行目で、
===============================================================
31:// 文字コードを変換
32:title = new String(title.getBytes("8859_1"), "EUC_JP");
33:comment = new String(comment.getBytes("8859_1"), "EUC_JP");
===============================================================
とありますが、文字コードを変換すると文字化けしてしまい、
この2行をコメントアウトすると、上手く表示されます。

<<環境>>
WindowsXP
JDK1.4
Tomcat4.1.24
PostgreSQL(Windows−Native版)

記事の筆者との環境の違いはPostgreSQLが、
Windows上にあるかLinux上にあるかとの違いくらいなので、
PostgreSQLが問題なのかなぁと思っていますが、
よくわかりません。
かれこれ長い間悩んでいるのですが、わからないので
問題個所を教えていただきたいと思います。

以上、よろしくお願い致します。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-04-25 17:31
pageディレクティブのcontentType属性は
どうなっていますか?
monica
会議室デビュー日: 2003/02/22
投稿数: 9
投稿日時: 2003-04-27 17:32
pageディレクティブのcontentType属性を、
contentType="text/html; charset=euc-jp"としても、
pageディレクティブの行を書かなくても、
文字化けしてしまいます。
カロン
会議室デビュー日: 2003/02/20
投稿数: 5
投稿日時: 2003-04-27 17:56
title = new String(title.getBytes("8859_1"), "JISAutoDetect");
としてみてはどうでしょうか?
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-04-28 09:27
<%@page contentType="text/html; charset=MS932"%>
<%
String test = request.getParameter("test");

request.setCharacterEncoding("MS932");

out.print(test);
%>

これでどうですか?
Windowsなのでいけるのではないでしょうか。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-04-28 10:59
すみません。助言しておきなが、
コードをミスっておりました。
<%@page contentType="text/html; charset=MS932"%>
<%
request.setCharacterEncoding("MS932");

String test = request.getParameter("test");

out.print(test);
%>
です、
amnaky
ベテラン
会議室デビュー日: 2002/09/13
投稿数: 75
お住まい・勤務地: 東京
投稿日時: 2003-04-28 11:41
PostgreSQLのWindows-Native版というのがあるというのを
初めて知りましたが、データは何のキャラクタセットで
格納されていますか?

title = new String(title.getBytes("8859_1"), "EUC_JP");
の処理は、データがEUC_JPで格納されていることを
前提としているので、Shift_JISで格納されている
(Windowsだけに・・・)のならば、
title = new String(title.getBytes("8859_1"), "Shift_JIS");
とか。
1

スキルアップ/キャリアアップ(JOB@IT)