大家看一下,我的第一句就是response.setCharacterEncoding("GBK");
可是为什么他还是出现中文乱码那?
public void showInfo(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
System.out.println("进入showInfo的Servlet");
ResultSet rsAll = null;
rsAll = dao.showInfo();
HttpSession session = request.getSession();
try {
while(rsAll.next()){
session.setAttribute("sno", rsAll.getString(1));
session.setAttribute("sname", rsAll.getString(2));
session.setAttribute("cname", rsAll.getString(3));
session.setAttribute("credit", rsAll.getString(4));
session.setAttribute("grade", rsAll.getInt(5));
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.println("<html>");
out.println("<body>" );
out.println("<table>" );
out.println("<tr>" );
out.print("<td>学号</td>" );
out.print("<td>姓名</td>" );
out.print("<td>课程</td>" );
out.print("<td>学分</td>" );
out.print("<td>成绩</td>" );
out.println("</tr>" );
try{
System.out.println("进入try");
String sno = (String)session.getAttribute("sno");
String sname = (String)session.getAttribute("sname");
String cname = (String)session.getAttribute("cname");
String credit = (String)session.getAttribute("credit");
String grade = session.getAttribute("grade").toString();
System.out.println(cname);
out.println("<tr>" );
out.println("<td>" );
out.print(sno);
out.println("</td>" );
out.println("<td>" );
out.print(sname);
out.println("</td>" );
out.println("<td>" );
out.print(cname);
out.println("</td>" );
out.println("<td>" );
out.print(credit);
out.println("</td>" );
out.println("<td>" );
out.print(grade);
out.println("</td>" );
out.println("</tr>" );
}catch(Exception e){
e.printStackTrace();
}
finally{
DBHelper.closeConnection();
}
out.println("</table>" );
out.println("</body>" );
out.println("<html>");
out.close();
System.out.println("执行完毕showInfo的Servlet");
}
java servlet 显示中文乱码
答案:4 悬赏:0
解决时间 2021-04-07 06:35
- 提问者网友:独菊痴梦
- 2021-04-06 13:17
最佳答案
- 二级知识专家网友:许你一世温柔
- 2021-04-06 13:27
你在servlet里面写response.setCharacterEncoding("GBK"); ,如果页面编码是iso-8859-1的话,页面显示的就是乱码。所以,需要你在页面上面也设置此类编码。
out.println("<html>");
out.println("<meta http-equiv=\"content-type\" content=\"text/html;charset=gb2312\">");
out.println("<html>");
out.println("<meta http-equiv=\"content-type\" content=\"text/html;charset=gb2312\">");
全部回答
- 1楼网友:余生继续浪
- 2021-04-06 14:50
UTF-8
- 2楼网友:恕我颓废
- 2021-04-06 14:35
response.setCharacterEncoding("utf-8");
- 3楼网友:都不是誰的誰
- 2021-04-06 13:40
GBK换成 utf-8 ;如果还不行的话 在out.println的时候把页面编码也设置一下 如果还不行的话 看看你数据库编码对不对 总之 凡是有可能涉及到编码的地方都检查一下
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯