- - PR -
EZ端末からの投稿が文字化け
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-05-20 19:45
Apache1.3 + mod_jk + Tomcat4.1.24
でサーブレット構築しています。 受け付けたリクエストパラメータを HttpServletRequest から取り出して文字コード変換して使用しているのですが、 EZ端末(A5403CA他)から METHOD=POST で送信した場合のみ、 デコードした時、文字化けがおきます。 new String(request.getParameter("...").getBytes("8859_1"),"Shift_JIS") いろいろ調べたところ、 サブミット時に、 x-up-destcharset=17 というパラメータが付加されている場合に 文字化けがおきていました。 リクエストパラメータの内部コードを調べたところ、 すでにパラメータ値がコード変換されているようで、 結局のところ、 request.getParameter("...") だけで欲しい文字コードが得られるのですが、 なぜ勝手にかわってしまうのか悩んでいます。 |
|
投稿日時: 2004-05-20 20:36
wap serverが変換してるんじゃないですかね。
|
|
投稿日時: 2004-05-20 20:51
初め、WAPサーバがかけていると
思っていたのですが、 まったく同じフォームで action先だけをCGI Perlなどに飛ばし、 リクエストパラメータの内容をダンプしてみたら、 変な変換はかかっていませんでした。 また、WAPサーバにそのようなエンコーディングをしているという 技術仕様をネットで検索してみたのですが、見つけられずじまい。。。。。 このような現象が起きた方っていらっしゃらないのでしょうか? |
|
投稿日時: 2004-05-21 12:57
ezWebの場合はこのような現象が起きます。身近でも苦労した人が居ます。
申し訳ないのですが私自身がPGじゃなかったので具体的なことが今分からないのですが、下記のURLを紹介してあげたら参考に直していました。 とにかくAutoDetectじゃ判別できなくて,UTF-8が関係してたような・・。 友人が出社したら聞いてみます。それまでは下記URLを参考に調べてみてください。 http://www.t3.rim.or.jp/~yoko-k-h/java/servlet/programming/mojibake.html http://www.alles.or.jp/~torutk/oojava/sabbath/charcode.html http://yamaguch.sytes.net/~tora/java/encode.html http://www.alles.or.jp/~torutk/oojava/sabbath/charcode.html |
|
投稿日時: 2004-06-02 13:59
いろいろと調べたところ、
EZWebで文字化けが発生してしまうケースの リクエストヘッダーは、 content-type = application/x-www-form-urlencoded;charset=shift_jis となっていました。 文字化けしないケースでは、 content-type = application/x-www-form-urlencoded だけだったのですが、 これにより、Tomcatが、勝手に変換しちゃってくれているのでしょうか? ちなみに、 x-up-destcharset=17 は、リクエストヘッダーにはありませんでした。 WAPサーバが、x-up-destcharset=17 を見て、 content-type = application/x-www-form-urlencoded;charset=shift_jis に変換しているのかもしれませんね。 |
1
