KB-ASP.NET 2.0 Cookie Bug

同事小熊子反應: Community Server暱名留言時姓名欄位提供的"記住我"功能,在處理中文時會有亂碼的問題,由他使用IE Cookie View追蹤的結果,感覺上ASP.NET 2.0是用UTF-8編碼保存中文,但下次使用時卻姓名變成亂碼也是事實。

印象中在另一位MVP的Blog有看過類似的問題,回頭查了一下,症狀幾乎完全相同,看來是ASP.NET 2.0的Bug(對某些人來說挺要命的)。要閃開這個Bug的一個有效作法是對文字做Encoding,於是我改了CommunityServerBlogs20.Blogs.Controls.CommentForm.cs,在寫入/讀取Cookie時加上UrlEncode及UrlDecode,問題解決,Case Closed。

歡迎推文分享:
Published 27 March 2007 12:36 AM 由 Jeffrey
Views: 12,792



意見

# 小熊子 said on 26 March, 2007 06:00 PM

太棒了~ 謝謝~

# 璉璉 said on 28 March, 2007 09:38 PM

我自己現在是用 Base64 來做編解碼,因為 Cookies 有 4 kb 上限,用 Base64 比較省,而且部份 cookies 可以配合加密用 Base64 直接編位元組陣列,不用特別改~

# 北極熊 said on 21 June, 2007 08:23 PM

6/20微軟自動更新後 .NET 2003 中文Cookies 有亂碼問題, 在您的網站找到解決方法~ 謝謝!

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<March 2007>
SunMonTueWedThuFriSat
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication