| No.086 | 投稿日時: | 2003/08/22(金) 13:31 <↑親記事:No.085> |
| 投稿者: | 松岡 秀幸 |
アドバイス、ありがとうございました。
教えていただいたHPで試してみましたが、文字化けの解消は出来ませんでした。
しかし、URLエンコードを行うと解消できましたので、以下に文字化けの発生する条件と解決方法を記述させていただきます。
【発生条件】
・SERVLETからJSPへデータを一覧表示させ、一覧からリンクで詳細画面を
新しいウインドウで開く。その際にキー項目をSERVLETへ受渡す。
(このキー項目の中に半角カナ文字が含まれる。)
・ウインドウを新しく開く為、GETで送信しなければならない。
(POSTで受渡をすると文字化けは発生しない。)
・JSPではCp943Cの文字コードを設定。
【解決方法】
==JSP側の処理==
・JSPにて java.net.* のインポートを行う。
・送信するキー項目をURLEncoder.encodeでエンコードを行う。
(子ウインドウのアドレス→[http://www・・・Servlet?KEY=%8E%CB・・])
==SERVLET側の処理==
・バイト文字列がSHIFT-JISで変換されてしまったいるため、EUC-JPに変換する。
value = new String(value.getBytes("Shift_JIS") ,"EUC-JP");
これで文字化けの解消ができるはずです。
URLエンコードで参考にしたHPのアドレスです。
http://www.fk.urban.ne.jp/home/kishida/kouza/fortejsp03/fortejsp03.html