Cookie保存中文内容

Cookie的值保存中文内容,可以使用Java.net.URLDecoder进行解码。

示例:

<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
//保存一个中文值得Cookie
Cookie c = new Cookie("cnName"
	, java.net.URLEncoder.encode("张三" , "utf-8"));
c.setMaxAge(24 * 3600);
//向客户端增加Cookie对象
response.addCookie(c);
//获取客户端的Cookie,并输出
Cookie [] cookies = request.getCookies();
for (Cookie cookie : cookies){
	if(cookie.getName().equals("cnName")){
		out.println(
			java.net.URLDecoder.decode(cookie.getValue() , "utf-8"));
	}
}
%>

</body>
</html>

 

时间: 2024-11-03 21:21:20

Cookie保存中文内容的相关文章

Control character in cookie value, consider BASE64 encoding your value-Cookie保存中文出错[转]

项目当中用到cookie保存中文,但是会报如下错误: Control character in cookie value, consider BASE64 encoding your value 大概意思是保存到cookie当中的值存在控制字符,无法保存.但实际上数据是不存在这种问题的.再看后面的那句话,好像是将要保存的值进行了base64编码,可能是因为中文在编码时出现乱码导致一些控制字符的出现. 解决方案:将要保存的值进行URLEncoder.encode(value,"utf-8"

Unicode编码:保存中文cookie

中文和英文字符不同,中文属于Unicod字符,在内存中站4个字符,而英文属于ASCII字符,内存中只占2个字符.Cookie中使用Unicode字符时需要对Unicode字符进行编码,否则会乱码.编码使用java.net.URLEncoder类的encode(String str,String encoding)方法,解码使用java.net.URLDecoder类的decode(String str,String encoding)方法. <%@ page language="java&

【转】asp.net Cookie值中文乱码问题解决方法

来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqiang.blog.163.com/blog/#m=0 ============================================================================== cookie中怎么保存中文 在用cookie保存用户名的时候,发现cookie值不能存中文

tomcat7中cookie写入中文引发Control character in cookie value or attribute异常

原因是有关中文编码的问题,中文采用的是unicode编码,而英文采用的是ASCII编码,所以当COOkie保存中文的时候需要对中文进行编码,而且从Cookie中取出内容的时候也要进行解码,编码和解码可以使用 public static void CreateCookie(String username,HttpServletRequest req,HttpServletResponse resp,int sec) throws Exception{ String encode = URLEnco

Control character in cookie value, consider BASE64 encoding your value , java操作cookie遇到中文会报错的解决方案

项目当中用到cookie保存中文,但是会报如下错误: Control character in cookie value, consider BASE64 encoding your value 大概意思是保存到cookie当中的值存在控制字符,无法保存.但实际上数据是不存在这种问题的.再看后面的那句话,好像是将要保存的值进行了base64编码,可能是因为中文在编码时出现乱码导致一些控制字符的出现.看来setCookie方法不支持保存中文(GBK)编码的样子. 解决方案:将要保存的值进行URLE

Cookie不能保存中文解决方式

 在用cookie保存username的时候,发现cookie值不能存中文,报例如以下错: Control character in cookie value, consider BASE64 encoding your value 发生错误在:response.addCookie(cookie); 在曾经的编程中也碰到过这种问题,主要是cookie值里面存在非法參数,如存在"\r\n"."\n"之类的字符时就报报这种错,但我就个username啊,不存在像这些

Cookie不能保存中文解决方案

 在用cookie保存用户名的时候,发现cookie值不能存中文,报如下错: Control character in cookie value, consider BASE64 encoding your value 错误发生在:response.addCookie(cookie); 在以前的编程中也碰到过这样的问题,主要是cookie值里面存在非法参数,如存在"\r\n"."\n"之类的字符时就报报这样的错,但我就个用户名啊,不存在像这些字符啊,不管,我把c

JAVA- JSP中解决无法在Cookie当中保存中文字符的问题

因为cookie的值是ASCII字符,不能直接把自定义cookie的值直接赋值为中文,但是要实现这个功能,还是有方法的. 1.java中已经给我们提供了方法,此时只需要导入该包就行 <%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%> 2.解决页面中文字符出现乱码问题 <body>

Cookie不能保存中文的解决办法

假设a.jsp是客户端,b.jsp是客户端,c.jsp是服务端 现在要做的就是客户端在a.jsp页面提交表单信息到服务端c.jsp,c.jsp再将表单信息保存到cookie中,并转发或者重定向到b.jsp客户端,这样就 达到了我们将服务端生成的cookie保存到客户端的作用,但是中文输入保存cookie时会报错 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodin