- - PR -
iplanet6.0 + Solaris で文字化けの問題
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-06-08 13:05
よく出る問題かもしれませんが、質問させて頂きます。
表記通りの環境でJSPのcharset=Shift_JISに設定してから、フォームに入力した日本語を次のページで表示しようとするときに文字化けます。 表示画面では -------------- String name = (String)request.getParameter("NAME"); byte[] b = name.getBytes("ISO-8859-1"); String name_show = new String(b ,"SJIS"); ----- のような処理をしてからname_showを表示しても文字化けます。 ちなみに、同じファイルをiplanet6.0+windows2000の環境で実行してみると日本語が正常に 表示されます。 ご存じであれば、ぜひご教授おねがいします。 _________________ | ||||
|
投稿日時: 2004-06-08 13:22
文字化けというよりも、この時点では Shift_JISの文字列が 復元できているのではないでしょうか? さらに EUC-JPに変換すれば、通常の処理ができるように なるとかということでは? | ||||
|
投稿日時: 2004-06-08 16:48
ご返信ありがとうございます。
引用----------------------------------------- 文字化けというよりも、この時点では Shift_JISの文字列が 復元できているのではないでしょうか? -------------------------------------------- 確かに復元されるはずなんですけど、そのまま表示してみると、文字化けになります。 また、次の表示画面で文字コード変換とかしなくて通常の処理をするとうまくいけないです。 たとえば、入力した文字でDB検索をしても結果が出ないです。しかし、直接SQL文を発行して同じ文字をキーで検索すると結果がでます。 たぶん入力画面で入力した文字が文字化けになったからDB検索結果がでないと思っております。 Windowsサーバーでは正常なので、Solarisに関係あると思いますけど、まだ解決策がないです。 | ||||
|
投稿日時: 2004-06-09 00:49
[quota]
確かに復元されるはずなんですけど、そのまま表示してみると、文字化けになります。 [/quota] だから、Shift_JISが復元できても、EUC環境でそのまま表示したら 化けるでしょう。 | ||||
|
投稿日時: 2004-06-09 07:36
なんかよくわかんないけど、事象だけ読むと入力パラメータに対してiplanetがOSのデフォルトエンコーディングを適用しているように思えますね。
getParameter()する前にHttpServletRequest#setCharacterEncoding()でShift_JISを指定したらどうでしょうかね。 | ||||
|
投稿日時: 2004-06-09 10:19
iPlanet 6.0 って Servlet API 2.2準拠だったと思うので HttpServletRequest#setCharacterEncoding() は使えないでしょう。たぶん。 | ||||
|
投稿日時: 2004-06-09 10:27
-------------
事象だけ読むと入力パラメータに対してiplanetがOSのデフォルトエンコーディングを適用しているように思えますね。 getParameter()する前にHttpServletRequest#setCharacterEncoding()でShift_JISを指定したらどうでしょうかね。 ------------- 確かにご指摘どおりOSのデフォルトエンコーディングが適用されたのが原因です。 おかげさまで問題は解決しました。 Anthyhimeさん、Kissingerさんいろいろ教えていただいてどうもありがとうございました。 | ||||
1
