00349 04月15日(金)20時34分 Shuji shuji_kohno@earth.livedoor.com 0 CGIでのデコード Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) 219.114.111.54 ・・・・・ ----- 0 http:// CGI(C++)における日本語デコードの問題について教えていただき たいのです。 WindowsNT4.0のころには(IIS4.0だったと思いますが)、CGIに日本語引数を渡す場合は、そのまま渡しても 機能しましたが、Windows2003になってからは、文字が化けるようになりました。 そこで、引数を16進コードにしてエンコードするようにしたのですが、エンコードされません。 原因を調べたところ、先頭の'%'(あ=%82%A0 というような書き方になります。)が認識されておらず 16進コードとして認識されていないことがわかりました。 その後、'%'と16進コードとの間に'x'いれると 引数を認識(先ほどの例だと %x82%xA0 と認識)することがわかったので、エンコードすることができるように なりました。 ただ、なぜ'x'を間にはさまなければならないかは、わからないままです。 ちなみにFormで入力文字をエンコードする場合は、%82%A0をきちんと認識し、エンコードして'あ'を出して います。