<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %> <% String username = (String)session.getAttribute("username"); String sex = (String)session.getAttribute("sex"); String sport_hobby = (String)session.getAttribute("sport_hobby"); %> <html> <head> <title>用户信息</title> </head> <body> <h1>用户信息</h1> <p>用户名(昵称): <%= username %> </p > <p>性别: <%= sex %> </p > <p>体育爱好: <%= sport_hobby %> </p > <a href="updateForm.jsp">修改(<%= username %>)昵称</ a> </body> </html>这段代码输出中文时乱码,帮我修改一下
时间: 2023-10-22 12:07:47 浏览: 50
可以将 JSP 页面的编码方式设置为 UTF-8,并且在输出中文时使用 UTF-8 编码。修改后的代码如下:
```jsp
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%
String username = (String) session.getAttribute("username");
String sex = (String) session.getAttribute("sex");
String sport_hobby = (String) session.getAttribute("sport_hobby");
%>
<html>
<head>
<title>用户信息</title>
</head>
<body>
<h1>用户信息</h1>
<p>用户名(昵称): <%= new String(username.getBytes("ISO-8859-1"), "UTF-8") %> </p >
<p>性别: <%= new String(sex.getBytes("ISO-8859-1"), "UTF-8") %> </p >
<p>体育爱好: <%= new String(sport_hobby.getBytes("ISO-8859-1"), "UTF-8") %> </p >
<a href="updateForm.jsp">修改(<%= new String(username.getBytes("ISO-8859-1"), "UTF-8") %>)昵称</a>
</body>
</html>
```
其中,`new String(str.getBytes("ISO-8859-1"), "UTF-8")` 表示将 str 从 ISO-8859-1 编码转换为 UTF-8 编码。通过这种方式输出中文时就不会出现乱码了。