ホームページ  >  記事  >  バックエンド開発  >  .net は Cookie を使用して文字化けを生成します

.net は Cookie を使用して文字化けを生成します

巴扎黑
巴扎黑オリジナル
2016-12-19 15:47:151378ブラウズ

これは私が実際に遭遇した問題です

ローカルでテストしたときは問題ありませんでしたが、結果を iis に投稿すると、読み取りクッキーが文字化けしてしまいました。

最初に非常に愚かな方法を使用しました。中国語の文字を含むテキスト Cookie は保存される前に最後に配置されます。これにより、少なくとも 1 つの問題が解決されます。つまり、中国語の文字が含まれていない Cookie は正常に読み取れるということです。文字化けした Cookie が原因で Cookie バイトが読み取られる可能性があります。文字化けして読めません

その後改善されたのでネットで調べました参考までに方法も貼っておきます

この記事が削除されないように、貼り付けておきます。

以下はCookieを書くコードです

​​

[csharp] view plain copy

HttpCookie cookie = new HttpCookie("username")

Cookie.Value = "Zhang San,14,images/1.jpg" ;

使用して アウト アウト アウト アウト アウト アウト アウト アウト アウト アウトアウトオフオフウェイアウトウェイアウトオフアウトウェイアウトウェイアウトアウトアウトアウトアウトアウトアウトアウトアウトアウト過去過去o - i i i i s の後、 Request.Cookies[ "username"]!=null)

中国語の部分はガーかもしれません原因が何であれ、コーディングによって解決できます

Cookie を書き込むコードを変更します。上記

[csharp] プレーンコピーを表示

HttpCookie cookie = new HttpCookie("username") . Cookie.value = httputility.urlencode ("Zhang San, 14, Images/1.jpg", Encoding.Getencoding ("UTF) = 8");

cookie.expires = s (1); name =HttpUtility.UrlDecode(Request.Cookies["ユーザー名"].Value,Encoding.GetEncoding("UTF-8"));

Response.Write(username); Hedu Cookieを取得するときにutf8を使用すると、サーバー上でもローカルでも文字化けは発生しません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。