软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 网络编程 > JSP教程 > mysql与jsp一起使用时中文乱码的解决方法

mysql与jsp一起使用时中文乱码的解决方法

  烈火网(LieHuo.Net)教程 开发环境:win7; mysql-5.0.51b; ObjectWeb Lomboz for JavaEE Development Version: 3.3;
  今天在尝试进行连接数据库并读取数据的时候出现了著名的中文乱码
  但是由于在以前的ajax过程中有过教训,所以在能设置编码的地方都设置了UTF-8,但竟然也出现了问题。
  我的jsp页面代码如下: 
以下为引用的内容:
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello world!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<body>
<%
java.sql.Connection conn;
String strConn;
java.sql.Statement sqlStmt;
java.sql.ResultSet sqlRst;
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn=DriverManager.getConnection("jdbc:mysql://localhost/j2ee","root","admin");
sqlStmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sqlQuery="select * from USER";
sqlRst=sqlStmt.executeQuery(sqlQuery);
if(sqlRst!=null){
%>
<center>用户信息</center>
<table>
<tr><td>用户ID</td><td>用户名字</td></tr>
<%
while(sqlRst.next()){
%>
<tr><td><%=sqlRst.getString("U_ID")%></td><td><%=sqlRst.getString("USER_NAME")%></td></tr>
<%
}
}
sqlRst.close();
sqlStmt.close();
}catch(java.sql.SQLException ex)
{
response.getWriter().println(ex.toString());
}
finally
{

}
%>
</table>
</body>
</html>

  我设置了页面的编码<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,以及eclipse的编码,mysql的编码,全部设置成了utf-8;
  问题仍然存在。
  最终在页面头加入<%@page contentType="text/html; charset=UTF-8" language="java"%>
  问题解决。得出结论,页面的java代码貌似也需要设置一下。
  难道这与eclipse的编码是两回事?还是这影响之后产生的servlet的编码?
    相关阅读
    栏目导航
    推荐软件