浏览器的编码已经改成了UTF-8,但中文显示还是乱码
HTML文件
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta charset="UTF-8">
<title>hobby.htmltitle>
head>
<body>
<p>调查表<br>p>
<form action="servlet/MyHobby" method="get">
你的姓名:<input type="text" name="name" size=15> <br/>
请选择你的兴趣爱好: <br/>
<input type="checkbox" name="balls" value="篮球">篮球 <br/>
<input type="checkbox" name="balls" value="足球">足球 <br/>
<input type="checkbox" name="balls" value="网球">网球 <br/>
<input type="checkbox" name="balls" value="羽毛球">羽毛球 <br/>
<input type="checkbox" name="balls" value="乒乓球">乒乓球 <br/>
<input type="submit" name="Submit"> <br>
form>
body>
html>
java文件
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String name=request.getParameter("name");
String[] balls=request.getParameterValues("balls");
out.println("你的姓名是:"+name+"
");
out.println("你的爱好有:"+"
");
if (balls == null){
out.println("兴趣为空");
out.close();
return;
}
for(String ball:balls){
out.println(ball+"
");
}
out.close();
}
弄成这样试一试,我这边没有问题哇!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>调查表<br></p>
<form action="servlet/MyHobby" method="get">
你的姓名:<input type="text" name="name" size=15> <br/>
请选择你的兴趣爱好: <br/>
<input type="checkbox" name="balls" value="篮球">篮球 <br/>
<input type="checkbox" name="balls" value="足球">足球 <br/>
<input type="checkbox" name="balls" value="网球">网球 <br/>
<input type="checkbox" name="balls" value="羽毛球">羽毛球 <br/>
<input type="checkbox" name="balls" value="乒乓球">乒乓球 <br/>
<input type="submit" name="Submit"> <br>
</form>
</body>
</html>
修改一下文件类型的存储编码,再打开试试(如图)。