- PR -

JSPにて、他のJSPをincludeした場合の文字化けについて

1
投稿者投稿内容
DS 開発初心者
会議室デビュー日: 2006/12/26
投稿数: 6
投稿日時: 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 ???? を使用しています。

もし、対処方法がわかるならご教授お願い致します。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-12-26 10:32
普通に考えると、パラメータの値が記述されているのはinclude「する」側なので、
include「する」側のpageEncodingを適切に設定する必要があると思います。それから
もちろんcontent-typeもきちんと指定されている必要があります。

まず、includeなしで日本語の文字列をinclude「する」側のJSPに記述した場合に
文字化けしないで表示されるかどうかをまず確認してください。
DS 開発初心者
会議室デビュー日: 2006/12/26
投稿数: 6
投稿日時: 2006-12-26 10:55
返答ありがとうございます。
教えていただいた通り 普通に文字を入れたところ
文字化けせずに、表示されました。includeする側のJSPは
文字指定(pageEncoding 及び ContextTypeの指定)は
できているみたいです。includeされる側の文字も表示は
されました。

(記述は元々されていたのですが、表示されるかの確認はして
いませんでした。ありがとうございます。)

ちなみに、Encodingしている文字はWindows-31Jです。
DS 開発初心者
会議室デビュー日: 2006/12/26
投稿数: 6
投稿日時: 2006-12-26 11:01
すみません。IT会議室の使用方法がよくわからず、間違えて
送信してしまいました。

返答ありがとうございます。
教えていただいた通り 普通に文字を入れたところ
文字化けせずに、表示されました。includeする側のJSPは
文字指定(pageEncoding 及び ContextTypeの指定)は
できているみたいです。includeされる側の文字も表示は
されました。

しかし、includeする側からパラメータでincludeされる側に
日本語文字を渡している場合は文字化けするようです。
渡す際にencodingの指定が必要なのでしょうか??
T2
常連さん
会議室デビュー日: 2002/02/20
投稿数: 37
投稿日時: 2006-12-26 11:22
リクエストパラメータの文字エンコーディング指定が出来ていないだけでは?
ServletRequest#setCharacterEncoding(String encoding) を呼び出してから
リクエストパラメータを取り出していますか?
DS 開発初心者
会議室デビュー日: 2006/12/26
投稿数: 6
投稿日時: 2006-12-26 20:54
返信くださった皆様ありがとうございます。
応急処置にしかならないのですが、暫定対処が見つかりました。

a = new String(a.getByte("8859_1"),"Windows-31J");

で処置ができました。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-12-27 09:56
引用:

DS 開発初心者さんの書き込み (2006-12-26 20:54) より:
a = new String(a.getByte("8859_1"),"Windows-31J");



何時の時代の遺跡を掘り起こしてきたのだろう…。
T2氏の対処は試されましたか?
1

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