jsp串連mysql 並正常顯示中文
來源:互聯網
上載者:User
js|mysql|顯示|中文
最近趁著下崗沒事幹,學了一點JSP,鼓弄了半天終於連上了MYSQL,不過發現從MYSQL中搜尋出的中文顯示不了.全他媽是???.上網搜了一下發現MY
SQL中不支援UNICODE只支援ISO-88591,於是天才的我想出瞭解決的辦法:)把搜尋出來的字串轉成位元組數組,然後用這個字元數組建立一個GB2312的字串.
<%=new String(rs.getString(2).getBytes("iso8859-1"),"gb2312")%>
反正很簡單我也不過多解釋.
下面附上所有代碼. 可能有的人不知道怎麼用JSP串連資料庫.
其中people 是資料庫的名稱 root 是使用者名稱 000000 是密碼
另外需要一個mysql的jdbc驅動.我用的是:mysql-connector-java-3.0.15-ga-bin.jar
網上到處可以找到,只需要把這個檔案下載下來放在你這個jsp檔案所在的目錄中\WEB-INF\lib下就可以了.
=========================testmysql.jsp=========================
<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" import="java.sql.*"%>
<%
java.sql.Connection conn;
java.lang.String strConn;
Class.forName("org.gjt.mm.mysql.Driver");
conn= java.sql.DriverManager.getConnection("jdbc:mysql:///people","root","000000");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM t_1");
%>
<%
for(int i=0;rs.next();i++){
%>
<%=new String(rs.getString(2).getBytes("iso8859-1"),"gb2312")%>
<br>
<%}%>
===========================表的結構==============================
# --------------------------------------------------------
#
# 表的結構 `t_1`
#
CREATE TABLE `t_1` (
`id` int(4) NOT NULL default 0,
`name` char(20) NOT NULL default ,
`phone` int(20) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;
#
# 匯出表中的資料 `t_1`
#
INSERT INTO `t_1` VALUES (1, 我不是, 2147483647);
INSERT INTO `t_1` VALUES (2, 豬, 2147483647);
=====================================================================
OK,寫完了....懂的人看起來肯定很簡單,