Posted in Javascript onOctober 14, 2009
function Get_Cookie(name) { var start = document.cookie.indexOf(name+…=…); var len = start+name.length+1; if ((!start) && (name != document.cookie.substring(0,name.length))) return null; if (start == -1) return null; var end = document.cookie.indexOf(…;…,len); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(len,end)); } function Set_Cookie(name,value,expires,path,domain,secure) { expires = expires * 60*60*24*1000; var today = new Date(); var expires_date = new Date( today.getTime() + (expires) ); var cookieString = name + …=… +escape(value) + ( (expires) ? …;expires=… + expires_date.toGMTString() : ……) + ( (path) ? …;path=… + path : ……) + ( (domain) ? …;domain=… + domain : ……) + ( (secure) ? …;secure… : ……); document.cookie = cookieString; }
当cookies中保存有中文信息时,会发生乱码,这样修改下就会解决问题
//cookie操作函数 function Get_Cookie(name) { var start = document.cookie.indexOf(name+…=…); var len = start+name.length+1; if ((!start) && (name != document.cookie.substring(0,name.length))) return null; if (start == -1) return null; var end = document.cookie.indexOf(…;…,len); if (end == -1) end = document.cookie.length; return decodeURI(document.cookie.substring(len,end)); } function Set_Cookie(name,value,expires,path,domain,secure) { expires = expires * 60*60*24*1000; var today = new Date(); var expires_date = new Date( today.getTime() + (expires) ); var cookieString = name + …=… +escape(value) + ( (expires) ? …;expires=… + expires_date.toGMTString() : ……) + ( (path) ? …;path=… + path : ……) + ( (domain) ? …;domain=… + domain : ……) + ( (secure) ? …;secure… : ……); document.cookie = cookieString; }
主要是把unescape改成了decodeURI。
JavaScript读取中文cookie时的乱码问题的解决方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@