首先是一個解析cookie的函數:javascript
<script type="text/javascript">
function getCookie(name) {
var cookies = document.cookie.split(";");
for(var i=0;i<cookies.length;i++) {
var cookie = cookies[i];
var cookieStr = cookie.split("=");
if(cookieStr && cookieStr[0].trim()==name) {
return decodeURI(cookieStr[1]);
}
}
}
String.prototype.trim = function() {
return this.replace(/^(\s*)|(\s*)$/g,"");
}
</script>java
當獲取到內容的時候,必定要進行編碼,不然會出現中文亂碼問題。cookie
decodeURI函數
其中在java的Servlet中,中文也要進行轉碼。cookie中不容許直接存儲中文:this
String valueUTF8 = URLEncoder.encode("testvalue3_中文_UTF-8","UTF-8");
Cookie cookie3 = new Cookie("testUTF8",valueUTF8);編碼
response.addCookie(cookie3);spa
而且在encode編碼的時候,用UTF-8來編碼。這樣js經過decodeURI轉碼過來的就不是亂碼。prototype
由於decodeURI就是採用的UTF-8來編碼的。code