- - PR -
JSPにて、他のJSPをincludeした場合の文字化けについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-26 10:12
はじめて書き込みます。よろしくお願い致します。
現在以下の記述方法でsample.jspをincludeしているのですが、 <jsp:include page="/JSP/sample.jsp" flush="true"> <jsp:param name="name_param" value="日本語"/> </jsp:include> パラメータで"日本語"を渡し、画面に”日本語”を表示させる際に 該当部分が文字化けします。 文字化けの原因は、Javaがデフォルトのエンコーディング(ISO-8859-1) で読み込むためだと推測しています。 また、同じ様な問題に直面した人達は、includeされる側のJSPで pageEncoding指定をする OR web.xmlのJSP configで対応する。 の対策で解決しているようなのですが、 どちらを試みても、pageEncodingを指定しても文字化けしたまま表示されて しまいます。 〔各種条件〕 WebLogic9.2(JDK1.5.3)JSP2.0 ???? を使用しています。 もし、対処方法がわかるならご教授お願い致します。 | ||||
|
投稿日時: 2006-12-26 10:32
普通に考えると、パラメータの値が記述されているのはinclude「する」側なので、
include「する」側のpageEncodingを適切に設定する必要があると思います。それから もちろんcontent-typeもきちんと指定されている必要があります。 まず、includeなしで日本語の文字列をinclude「する」側のJSPに記述した場合に 文字化けしないで表示されるかどうかをまず確認してください。 | ||||
|
投稿日時: 2006-12-26 10:55
返答ありがとうございます。
教えていただいた通り 普通に文字を入れたところ 文字化けせずに、表示されました。includeする側のJSPは 文字指定(pageEncoding 及び ContextTypeの指定)は できているみたいです。includeされる側の文字も表示は されました。 (記述は元々されていたのですが、表示されるかの確認はして いませんでした。ありがとうございます。) ちなみに、Encodingしている文字はWindows-31Jです。 | ||||
|
投稿日時: 2006-12-26 11:01
すみません。IT会議室の使用方法がよくわからず、間違えて
送信してしまいました。 返答ありがとうございます。 教えていただいた通り 普通に文字を入れたところ 文字化けせずに、表示されました。includeする側のJSPは 文字指定(pageEncoding 及び ContextTypeの指定)は できているみたいです。includeされる側の文字も表示は されました。 しかし、includeする側からパラメータでincludeされる側に 日本語文字を渡している場合は文字化けするようです。 渡す際にencodingの指定が必要なのでしょうか?? | ||||
|
投稿日時: 2006-12-26 11:22
リクエストパラメータの文字エンコーディング指定が出来ていないだけでは?
ServletRequest#setCharacterEncoding(String encoding) を呼び出してから リクエストパラメータを取り出していますか? | ||||
|
投稿日時: 2006-12-26 20:54
返信くださった皆様ありがとうございます。
応急処置にしかならないのですが、暫定対処が見つかりました。 a = new String(a.getByte("8859_1"),"Windows-31J"); で処置ができました。 | ||||
|
投稿日時: 2006-12-27 09:56
何時の時代の遺跡を掘り起こしてきたのだろう…。 T2氏の対処は試されましたか? |
1