[转]JS Cookie 中文乱码
2024-10-19 11:51:52
首先是一个解析cookie的函数:
<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>
当获取到内容的时候,一定要进行编码,否则会出现中文乱码问题。
decodeURI
其中在java的Servlet中,中文也要进行转码。cookie中不允许直接存储中文:
String valueUTF8 = URLEncoder.encode("testvalue3_中文_UTF-8","UTF-8");
Cookie cookie3 = new Cookie("testUTF8",valueUTF8);
response.addCookie(cookie3);
并且在encode编码的时候,用UTF-8来编码。这样js通过decodeURI转码过来的就不是乱码。
因为decodeURI就是采用的UTF-8来编码的。
最新文章
- 冰冻三尺非一日之寒--jQuery
- 使用nose 进行Python项目的自动化测试
- Unity 碰撞检测中碰撞器与触发器的区别
- 在Java代码中使用pdfBox将PDF转换为图片
- 【leetcode】Binary Tree Level Order Traversal I &; II
- Google OKR 目标管理体系学习
- CFX客户端调用报错
- oracle监控脚本
- Git CMD - show: Show various types of objects
- 哆啦A梦连连看游戏源码完整版
- 如何得到django中form表单里的复选框(多选框)的值( MultipleChoiceField )
- centos emacs安装
- centos7/RHEL7安装LibreOffice
- java selenium webdriver实战 seleniumIDE
- IE支持CSS3圆角
- String.getBytes()--->;字符串转字节数组
- 读书笔记 effective c++ Item 5 了解c++默认生成并调用的函数
- RabbitMQ 笔记-RPC
- SpringMV---params and headers
- Ocelot中文文档-流量控制