- PR -

java(JSP)の中に、UNIXの日本語の漢字のコード転換の件

投稿者投稿内容
onitsuka
会議室デビュー日: 2003/07/17
投稿数: 4
投稿日時: 2003-07-17 19:51
下記の件、教えてください。急ぎなので、どうもありがとう

クライアント:Windows IE
APサーバー:WebSphere 5.0 On Solaris 8.0
DBサーバー:Oracle 8i On Windows 2000 SP3

JSPの中に、このようで設定「contentType="text/html; charset=Shift_JIS」
DBの全角字をJSPに表示する場合、正常に表示できますが、
画面で入力された全角字をDBに更新するとき、「?」になってしまう。
再度画面に表示すれば、画面に「?」で表示した。
この問題はUNIXとWINDOWSのコードが違うと思いますから、JAVAのSERVLETでコード
転換を行ってみました、
return new String(s.getBytes("8859_1"),"EUC_JP");

return new String(s.getBytes("8859_1"),"iso-2202-jp");

return new String(s.getBytes(""),"SJIS");

以上の方法でか解決してみましたが、だめです。
誰か解決の方法を知ったら、お知らせてください。どうも。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2003-07-17 20:25
WebSphere 5.0がServlet2.3に対応しているなら、

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("Shift-JIS");

をやってみてはいかがでしょう。??表示は、文字コードがUTF-8のままだと発生するようですよ。
onitsuka
会議室デビュー日: 2003/07/17
投稿数: 4
投稿日時: 2003-07-17 20:39
この問題で使うformは
<FORM NAME=myForm enctype="multipart/form-data" METHOD=POST ACTION="">です。
特別な対応方法が必要ですか。
未記入
大ベテラン
会議室デビュー日: 2003/06/28
投稿数: 219
投稿日時: 2003-07-17 20:46
ダメもとですが(というより確認されていると思いますが)
return new String(s.getBytes("8859_1"),"Shift_JIS");
ではどうでしょうか?
#つけたし
もしくは
return new String(s.getBytes("8859_1"),"MS932");


[ メッセージ編集済み 編集者: Ken-Lab 編集日時 2003-07-17 20:53 ]
ゆん
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-07-18 07:15
return new String(s.getBytes("8859_1"),"MS932");

で行うのがよいと思います。Shift_JISだと鰍ネどが化けました。
環境:Windows2000,Oracle,JDBC Thin

「〜」文字化けについて という題名で別スレッドに登録していますので
参照ください。
onitsuka
会議室デビュー日: 2003/07/17
投稿数: 4
投稿日時: 2003-07-18 10:01
APサーバーはWindows 2000でテストしたと、
return new String(s.getBytes("8859_1"),"Shift_JIS");
return new String(s.getBytes("8859_1"),"MS932");
上記の二つがいいです。しかし、UNIXでテストした時、問題があります。
MINE
会議室デビュー日: 2003/07/02
投稿数: 17
投稿日時: 2003-07-18 10:45
フォームで「multipart/form-data」を指定しているのなら、
ServletInputStreamでバイトデータを直接取得しているのですよね?
転送データはShift_JISで送っているようなので、String型に変換する際に
文字エンコーディングに「MS932」を指定すればよいのではないでしょうか
onitsuka
会議室デビュー日: 2003/07/17
投稿数: 4
投稿日時: 2003-07-22 09:39
MINEさんの方法でテストしたと、問題を解消しません。
「MS932」でエンコーディングできません。
「multipart/form-data」を指定していますが、転送データは「Shift_JIS」で送りますか。

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