C# .net中cookie值为中文时的乱码解决方法
2021-07-05 01:08
标签:new tco 获取 [] nmap attribute 方法 str 修改 在学习当中碰到cookie中文乱码问题,问题原因:cookie对中文不太支持,将中文放入cookie中会报错误。 解决办法: 1.编码 将中文进行编码再放入cookie中: String username1 = URLEncoder.encode(username, "utf-8"); String userpwd1 = URLEncoder.encode(userpwd, "utf-8"); 其中username和userpwd其中有中文,username1和userpwd1是进行编码之后的字符串。 比如:(我这里做的是三天免登陆) Cookie loginCookie = new Cookie("loginCookie",username1+":"+userpwd1); //将编码后的内容放到Cookie中 loginCookie.setMaxAge(24*3600); //设置loginCookie的有效期3天 24小时*60分钟*60秒 resp.addCookie(loginCookie); //将loginCookie响应到浏览器 2.解码(如果不进行解码,页面会获取的是base64编码后的内容) String unamePwd = URLDecoder.decode(cookies[i].getValue(),"utf-8"); 其中cookies[i].getValue()是要进行解码的内容,根据自己的情况进行修改。 我的代码: //创建存放用户名密码的map //获取cookies 这样问题就解决了。 C# .net中cookie值为中文时的乱码解决方法 标签:new tco 获取 [] nmap attribute 方法 str 修改 原文地址:https://www.cnblogs.com/zgjin/p/9835738.html
Map
Cookie[] cookies = req.getCookies();
//进行判断
if(cookies!=null) {
for(int i=0;i
String unamePwd = URLDecoder.decode(cookies[i].getValue(),"utf-8");
String[] up = unamePwd.split(":");
loginMap.put(up[0], up[1]);
req.getSession().setAttribute("loginMap",loginMap);
}
}
}