IOS中safari cookie設置中文失敗的解決方法,大家了解嗎?當我們在IOS開發這個功能的時候,也許會遇到很多的問題,今天就跟著武林技術頻道小編的步伐來了解吧!
一開始以為是cookie中文亂碼的問題,后來跟蹤發現,cookie的值壓根就沒賦值成功,網上查了資料,發現safari不允許非ASCII編碼的值,換句話說:不允許中文存儲。
為了解決這個問題,在設置cookie值的時候必須先編碼,然后取值的時候再解碼。
后端設置cookie用的asp.net,前端獲取用的Javascript,他們的編碼和解碼能一致么?當前只能試一試了:
試了幾種方法,發現用HttpUtility.UrlEncode()進行編碼成功:
cookie = new HttpCookie("rdname"); cookie.Value = HttpUtility.UrlEncode(user.RegisterDeptName); cookie.Expires = System.DateTime.Now.AddDays(30); context.Response.Cookies.Set(cookie); 客戶端Javascript解碼為:
var deptName = cookie('rdname'); deptName= decodeURIComponent(deptName); $("#pickerlb").val(deptName); 也就是說:Javascript中的decodeURIComponent()和C#的HttpUtility.UrlEncode()是配對的。
看過了武林技術頻道小編介紹的safari cookie設置中文失敗的解決方法,武林技術頻道小編認為這是很不錯的內容,希望大家都能支持我們吧!
?
新聞熱點
疑難解答