为了账号安全,请及时绑定邮箱和手机立即绑定

中文乱码??cookie保存中文用户名出现“??”

显示结果为
用户名??

源程序如下

login.jsp

<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; utf-8"%>
<%@ page import="java.text.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page名字</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  	<h1>用户登录</h1>
  	<hr>
  	<%
  		request.setCharacterEncoding("utf-8");
  		String username="";
  		String password="";
  		Cookie[] cookies=request.getCookies();
  		if (cookies!=null && cookies.length>0){
  			for (Cookie c:cookies){
  				if (c.getName().equals("username")){
  					username =  URLDecoder.decode(c.getValue(),"utf-8");
  				}
  				if (c.getName().equals("password")){
  					password =  URLDecoder.decode(c.getValue(),"utf-8");
  				}
  			}
  		}
  			
  	%>
    <div id="container">
		<div class="logo">
			<a href="#"><img src="assets/logo.png" alt="" /></a>
		</div>
		<div id="box">
			<form action="dologin.jsp" method="post">
				<table>
					<tr>
						<td>用户名</td>
						<td><input type="text" name="username" value="<%=username %>" /></td>
					</tr>
					<tr>
						<td>密码</td>
						<td><input type="password" name="password" value="<%=password %>" /></td>
					</tr>
					<tr>
						<td colspan="2"><input type="checkbox" name="isUseCookie"
							checked="checked" />十天内记住我的登录状态</td>
					</tr>
					<tr>
						<td colspan="2" align="center"><input type="submit" value="登录" />
							<input type="reset" value="取消" /></td>
					</tr>
				</table>
			</form>
		</div>
	</div>
    	
  </body>
</html>




dologin.jsp

<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; utf-8"%>

<%@ page import="java.text.*" %>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'index.jsp' starting page­</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

  </head>

  

  <body>

<%

  

  request.setCharacterEncoding("utf-8");//防止中文乱码

%> 

<%

  String[] isUseCookie=request.getParameterValues("isUseCookie");

  if (isUseCookie!=null && isUseCookie.length>0){

  String username=URLEncoder.encode(request.getParameter("username"),"utf-8");

  String password=URLEncoder.encode(request.getParameter("password"),"utf-8");

  Cookie usernameCookie=new Cookie("username",username);

  Cookie passwordCookie=new Cookie("password",password);

  usernameCookie.setMaxAge(86400);

  passwordCookie.setMaxAge(86400);

  response.addCookie(usernameCookie);

  response.addCookie(passwordCookie);

  }

  else{

  Cookie[] cookies=request.getCookies();

  if (cookies!=null && cookies.length>0){

  for (Cookie c:cookies){

  if (c.getName().equals("username") || c.getName().equals("password")){

  c.setMaxAge(0);

  response.addCookie(c);

  }

  }

  }

  }

%>

<a href="users.jsp" target="_blank">查看用户信息</a>

 </body>

</html>



users.jsp

<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; utf-8"%>

<%@ page import="java.text.*" %>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'index.jsp' starting page­</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

  </head>

  

  <body>

  <h1>用户信息</h1>

  <hr>

  <%

  request.setCharacterEncoding("utf-8");

  String username="";

  String password="";

  Cookie[] cookies=request.getCookies();

  for (Cookie c:cookies){

  if (c.getName().equals("username")){

  username=URLDecoder.decode(c.getValue(),"utf-8");

  }

  if (c.getName().equals("password")){

  password=URLDecoder.decode(c.getValue(),"utf-8");

  }

  }

 

  %>

  <br>

  <br>

    用户名<%=username %><br>

    密码<%=password %><br>

  </body>

</html>


正在回答

2 回答

在第一行加 pageEncoding="utf-8" 属性 更改页面的编码格式试一试

1 回复 有任何疑惑可以回复我~
#1

慕粉1747205002 提问者

<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; utf-8" pageEncoding="UTF-8"%>
2017-01-06 回复 有任何疑惑可以回复我~

老铁是怎么解决的呢?python3.6默认的就是utf8,但是cookie的name为中文仍然是乱码.

我用的是driver.get_cookies()

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

中文乱码??cookie保存中文用户名出现“??”

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信