- PR -

jakartaのHTTPClientで全角カナがHTTPサーバ側で認識できない。

1
投稿者投稿内容
ゆう
常連さん
会議室デビュー日: 2001/12/10
投稿数: 33
投稿日時: 2004-04-01 03:55
いつもお世話になっております。
struts1.1とjakartaのコンポーネントを使用して開発を行っております。
今回は直接strutsには関係ないかもしれないのですが
できれば以下の問題に関して経験のあるかたのご指導を仰ぎたいと思い
登校させていただきました。

jakartaのクラス(HTTPCLient)を使用して他システム間の接続を行う開発を行っ
ております。その中で以下のような問題が起きております。

全角カナ文字をURLEncoderでエンコードし、PostMethodにセット後、HTTPCLientで通信を行う。

上記のPostMethodにセットした値と、HTTP通信をモニタリングした結果を以下に示します。
PostMethodに設定した値(全角かな文字を上記でエンコードする)
Key=”key” value=”%11%41%33%”
HTTP通信のモニタリング結果
Key=”key” value=”%2511%2541%2533”
上述のように出力に”25”が付与されてしまう。このため、受信側では正しく文字を認識できなくなっている。”25”はMS932でデコードすると、”%”となる。

現状では全角カナ文字をエンコードしたものをPOSTした場合に起こってしまいます。
"%11"がエンコード後の文字列であるがそれを"%","11"のように2文字と認識してしまっているようです。

なにか解決方法をご存知の方がご助言ください。よろしくお願いします。



[ メッセージ編集済み 編集者: ゆう 編集日時 2004-04-01 13:27 ]
シュン
ぬし
会議室デビュー日: 2004/01/06
投稿数: 328
お住まい・勤務地: 東京都
投稿日時: 2004-04-02 00:08
そのライブラリについては全くわかりませんが、挙動を見るに、PostMethodに渡すときにこちら側でURLエンコード処理をしなくて良いのではないですか?ライブラリが自動的にエンコード処理をやってくれているように見えるのですが。そういったことはお試しになりましたか?
1

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