- - PR -
Servletの文字化け
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-03-25 19:49
水を差すようですが、、、、 ブラウザのクエリーのエンコーディングに頼ると 思わぬ弊害を引き起こします(体験談です) 基本的に<form action="XX" method="get">で 送信すればエンコーディングされて送信されるはずです。 もしくは<a href="XXX?param=aあa">としなければいけないのであれば、 JSPなどで <a href="XX?param=<%=response.encodeURL("aあa")%>">と するべきです。 MY2=a%82%A0aで両ブラウザともOKだったのであれば、 上記のコードで対応できますよね。 クエリーストリングに全角文字をそのままぶちこんでは いけません。 | ||||
|
投稿日時: 2003-03-25 20:40
http://www.ietf.org/rfc/rfc2396.txt
を見る限り全角の文字をURLの中に埋め込むことは禁止されています。 禁止されている行為をやっているわけですから、動かなくて当然でしょう。 他の方が言われているように encode してから送信すべきです。 (私の場合は java.net.URLEncoder.encode()を使っています。) | ||||
|
投稿日時: 2003-03-28 15:45
色々アドバイスを頂いて、有難うございます。
確かに全角の文字をURLの中に埋め込むことは正しくない運用です。(反省します) 今回のことで下記の情報を得ました。 1)全角の文字をURLの中に埋め込む運用は避けるべきです。 2)Redhat+Apache+Tomcatの環境では1)の運用が文字化けします。<=テストしました 3)但し、Windows+Apache+Tomcatの環境では、1)の運用が文字化けしません。<=テストしました | ||||
|
投稿日時: 2003-03-28 18:24
正しくは 全角文字をURLに埋め込みたい場合はエンコードしてから 埋め込む。 ということです。 | ||||
