程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> mysql與jsp一起使用時中文亂碼的解決方法

mysql與jsp一起使用時中文亂碼的解決方法

編輯:關於JSP

幫客之家(www.Bkjia.com)教程 開發環境: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的編碼?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved