- - 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
