- - PR -
ASP.NETからASPへの漢字文字列を含んだクッキーで渡す場合について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-02-17 15:02
お世話になります。
「ASP.NETで漢字文字列を含む値をクッキー値として保存した場合、 ASP.NETではそのままRequest.Cookiesで読めば正しい漢字文字列 を取得できる。ただし、ASP側では正しい漢字文字列を取得できない ので、ASP.NETとASP間で漢字文字列を含む値はクッキーでは渡せない」 ことで悩んでおります。 参考として、逆の場合ではあるが、ASPからASP.NETへでは http://support.microsoft.com/default.aspx?scid=kb;en-us;313282 (ASP.NET Does Not Encode Cookies in UrlEncode Format by Default) 「Microsoft Active Server Pages (ASP) と ASP.NET コードで Cookies を 共有する ASP.NET アプリケーションを配置したときに、データのエンコードやア ンエンコードが正常に行われません。」 ASP.NETで漢字文字列(例:本社)を保存した場合、 「譛ャ遉セ」とクッキーファイルに保存される これをASP.NETのRequest.Cookiesで取得すると、「本社」となるが、 ASPのRequest.Cookiesで取得すると、「譛ャ遉セ」となる Server.UrlEncodeでURLエンコードしてから保存すると、 strPostMailforSender=%e6%9c%ac%e7%a4%beと保存される これをASPで取得すると、「譛ャ遉セ」となる ASP.NETで取得すると、「%e6%9c%ac%e7%a4%be」となる ASP.NETのServer.UrlDecodeで取得すると、「本社」となる %96%7B%8E%D0のように保存されない よろしくお願いします。 |
|
投稿日時: 2004-02-17 15:15
ども、ほむらです。
------- エンコード(charset)が間違えているみたいですね。 ASP.NET側がたぶん UTF-8になっているのかも? UTF-8「本社」をSHIFT_JISで表示するとこんな感じになります。 >「譛ャ遉セ」 |
|
投稿日時: 2004-02-17 16:28
ありがとうございます。
確かにASP.NET側ではcharsetがutf-8でした。 そこで、クッキー値を読む直前でcharsetをutf-8にして その後、charsetをShift_JISに戻すことで、 クッキー値「本社」を取得できました。 |
1