码迷,mamicode.com
首页 > 其他好文 > 详细

关于Cookie存取中文出现乱码问题

时间:2020-06-25 14:11:40      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:net   控制   decode   encode   tco   imp   username   string   servlet   

Cookie默认是不能存中文的,如果你在Cookie中存了一个中文,比如Cookie cookie = new Cookie("name","小王");

那么运行的时候服务器会抛出“500 控制你的cookie的value”的错误。

那么我们就要对Cooke进行编码解码,来实现能够存取中文的问题。

要用到编码 和 解码的类:

import java.net.URLDecoder;  中 方法 URLDecoder.decode()
import java.net.URLEncoder;  中方法 URLEncoder.encode()

在servlet中的代码:

 Cookie cookie = new Cookie("username",URLEncoder.encode (“小王”,"utf-8"));
 response.addCookie(cookie);

在jsp中的代码:

<%
Cookie[] cookies = request.getCookies();
String value="";
for(int i=0;cookies!=null&&i<cookies.length;i++){
if("name".equals(cookies[i].getName())){
value=URLDecoder.decode(cookies[i].getValue(), "UTF-8");
}}%>
<%= value %>

 

关于Cookie存取中文出现乱码问题

标签:net   控制   decode   encode   tco   imp   username   string   servlet   

原文地址:https://www.cnblogs.com/ZMYOE/p/13191541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!