• Cookie中文乱码问题


    页面一登录,页面二保存用户信息,放入Cookies里。

    但是Cookies放入中文会引起编码问题,如报错“Control character in cookie value, consider BASE64 encoding your value”等,

    利用decodeencode处理编码可以解决此问题。

    页面一 index.jsp

    <body>
    		  请填写您的身份标识
    		<form action="bl.jsp">
    			用户名:
    			<input type="text" name="name" style=" 200px">
    			<br />
    			密   码 :
    			<input type="password" name="pwd" style=" 200px">
    			<br />
    			<input type="submit" value="访问" name="sub" />
    
    			<%
    				//读取cookies
    				Cookie[] cookies = request.getCookies();
    				String uname = "";
    				if (cookies == null) {
    					out.print("您还没有登录!");
    				} else {
    					for (int i = 0; i < cookies.length; i++) {
    
    						if (cookies[i].getName().equals("uname")) {
    							uname = cookies[i].getValue();
    							uname = java.net.URLDecoder.decode(uname, "UTF-8");//解码
    							//也可以在顶部@page import="java.net.URLEncoder"
    							out.print("用户标识为" + uname);
    						}
    					}
    				}
    			%>
    
    
    		</form>
    	</body>


    页面二 bl.jsp

    	<body>
    	<% 
    	String name=request.getParameter("name");//取表单上的用户名
    	name=new String(name.getBytes("iso8859-1"),"utf-8");//已转化为中文
    	
    	name=URLEncoder.encode(name,"UTF-8");//encode将编码转化为通用码
    	Cookie cookie = null;
    	cookie = new Cookie("uname", name);//放入cookies
        cookie.setMaxAge( 24 * 60 * 60);//一天
         
        response.addCookie(cookie);  //放入
        response.sendRedirect("index.jsp");
       %>
    </body>


  • 相关阅读:
    前端之CSS:属性操作2
    前端之CSS:属性操作1
    前端之CSS:CSS选择器
    前端之HTML:表单操作
    前端之HTML:HTML
    SQLAlchemy的使用(SQLAlchemy 是一种对象关系映射模型(Object Relational Mapper), 简称ORM。)
    IO多路复用
    协程
    线程的那些事儿
    并发编程的那些事儿(四)
  • 原文地址:https://www.cnblogs.com/dmcl/p/5858226.html
Copyright © 2020-2023  润新知