[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00139] Re: Tomcat-4.0.6 の <jsp:forward で文字化け



Polaです。

> 徳@東芝ITソリューションです。

本当にいろいろご教示いただき感謝しています。
バージョンでの比較まで行って頂き、なんとお礼してよいのか分かりませんm(_ _)m

> 4.0.6ではPola Xさんのおっしゃる通り、value1、value2とも、そのままですが、
> 4.1.18では、それぞれapplication/x-www-form-urlencodedにエンコードされています。
> (この場合、元のStringについては、プラットフォームデフォルトのShift_JISとしている)
> ということで、4.1.18では、受信側が受けたものをURLDecorderでShift_JISとしてデコード
> してやればOKだったわけです。

やはりコンパイルの挙動が違っていたのですね。
4.0.6にはどのような意図があるのか分かりませんが、4.1.18でEncodeされている所を見ると
抜けていただけかもしれないですね。

> > それと、UTF-8と8859_1はどちらも同じ意味だと思っていたのですが、この2つは別物なのでしょうか?
> 8859_1(ISO-8859-1)は、ISOLatin Alphabet No.1(又はASCII/Latin-1)のことです。
> つまり、フォームデータのデフォルトエンコードapplication/x-www-form-urlencodedのことですね。
> URLエンコードする元のStringのエンコードによって、吐き出されるASCIIは違ってきます。
> #詳細は、Javadocのjava.nio.Charsetを参照願います。

この辺の事は勉強不足でして、、これから調べさせていただきます。
ポインタどうもありがとうございます。

> 私の結論としては、まず4.0.6では変数のURLEncodeが行われないので、
> 使用しないほうが良いかな?ってとこですね。

変数部分だけURLEncodeしてやれば良いのですけど、
ちょっと一時凌ぎ的な解決になってしまいますね。

> ちなみに、この辺は実は私は4.1.18でも気にしておらず、Tomcat4.Xから実装された、
> フィルター機能を使用しています。
> 使い方は、/examplesにSetCharacterEncodingFilterと、web.xml内に定義がありますので、
> 良かったら見てみてください。
> (ただ、4.0.6のコンパイル結果を見る限りだと、適用してもNGですね。4.1.18であれば、Pola Xさん
>  の最初のjspファイルで問題無く文字化けしませんでした)
> では。

フィルター機能という物を今知りました、お恥ずかしい限りです。
こちらも調べておきます。

●

蛇足ですが。。
Tomcat-4.1.xxとTomcat-4.0.xxのどちらを適用するか悩んだのですが、
http://www.jajakarta.org/tomcat/tomcat4.1/
上記URIに
「Tomcat4.0は、実用品質を保証する一世代前のリリースです」
と記述があり、Tomcat-4.0.6を選んだのですが、
皆様はもうTomcat-4.1.xxに進んでいるのでしょうか?
4.0が実用品質を保証すると明示されているので、
4.1は実用品質を保証していないのかな?などと考えて踏み切れませんでした。

いろいろと教示頂き本当にありがとうございました。
では、失礼します。

-- 
Pola X