乱码问题?
怎么加了req.setCharacterEncoding("UTF-8");
断点看到的数据依然是乱码 老师求解
@SuppressWarnings("serial")
public class ListServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
req.setCharacterEncoding("UTF-8");
String command=req.getParameter("command");
String description=req.getParameter("description");
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/micro_message","root","1234");
StringBuilder sql=new StringBuilder("select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE where 1=1 ");
List<String> paramList=new ArrayList<String>();
if(null!=command&&!"".equals(command.trim())){
sql.append("and COMMAND=?");
paramList.add(command);
}
if(null!=description&&!"".equals(description.trim())){
sql.append("and DESCRIPTION like '%' ? '%'");
paramList.add(description);
}
PreparedStatement preparedStatement=conn.prepareStatement(sql.toString());
for (int i=0;i<paramList.size();i++) {
System.out.println(paramList.get(i));
preparedStatement.setString(i+1, paramList.get(i));
}
ResultSet rs=preparedStatement.executeQuery();
List<Message> messageList=new ArrayList<Message>();
while(rs.next()){
Message message=new Message();
messageList.add(message);
message.setId(rs.getString("ID"));
message.setCommand(rs.getString("COMMAND"));
message.setContent(rs.getString("CONTENT"));
message.setDescription(rs.getString("DESCRIPTION"));
}
req.setAttribute("messageList", messageList);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
req.getRequestDispatcher("/WEB-INF/jsp/back/List.jsp").forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.doGet(req, resp);
}
==============================================
jsp页面代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>内容列表页面</title>
<link href="<%=basePath %>/resources/css/all.css" rel="stylesheet" type="text/css" />
</head>
<body style="background: #e1e9eb;">
<form action="<%=basePath %>List.action" id="mainForm" method="get">
<div class="right">
<div class="current">当前位置:<a href="javascript:void(0)" style="color:#6E6E6E;">内容管理</a> > 内容列表</div>
<div class="rightCont">
<p class="g_title fix">内容列表 <a class="btn03" href="#">新 增</a> <a class="btn03" href="#">删 除</a></p>
<table class="tab1">
<tbody>
<tr>
<td width="90" align="right">指令名称:</td>
<td>
<input name="command" type="text" class="allInput" value=""/>
</td>
<td width="90" align="right">描述:</td>
<td>
<input name="description" type="text" class="allInput" value=""/>
</td>
<td width="85" align="right"><input type="submit" class="tabSub" value="查 询" /></td>
</tr>
</tbody>
</table>
<div class="zixun fix">
<table class="tab2" width="100%">
<tbody>
<tr>
<th><input type="checkbox" id="all" onclick="#"/></th>
<th>序号</th>
<th>指令名称</th>
<th>描述</th>
<th>操作</th>
</tr>
<c:forEach items="${messageList }" var="message" varStatus="status">
<tr <c:if test="${status.index%2!=0 }">style='background-color:#ECF6EE;'</c:if> >
<td><input type="checkbox" /></td>
<td>${status.index+1}</td>
<td>${message.command }</td>
<td>${message.description }</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class='page fix'>
共 <b>4</b> 条
<a href='###' class='first'>首页</a>
<a href='###' class='pre'>上一页</a>
当前第<span>1/1</span>页
<a href='###' class='next'>下一页</a>
<a href='###' class='last'>末页</a>
跳至 <input type='text' value='1' class='allInput w28' /> 页
<a href='###' class='go'>GO</a>
</div>
</div>
</div>
</div>
</form>
</body>
</html>