当前位置: 首页 > 图文教程 > 网络编程 > JSP > 我的Mysql5.0中文乱码解决方案

JSP
写 bean 类的准则
Jsp问答集一
JSP内幕
多个域名绑定一个空间互不影响
建立JSP操作提高数据库访问效率
教你用Javascript制作连续滚动的字幕
JSP中的TagLib应用(1)
JSP中的TagLib应用(2)
JSP中的TagLib应用(4-3)
JSP中的TagLib应用(4-4)
Eclipse 3.0 上配置JSP开发环境
JAVA/JSP学习系列之一
JAVA/JSP学习系列之二
JAVA/JSP学习系列之三
JAVA/JSP学习系列之四
JAVA/JSP学习系列之五
JAVA/JSP学习系列之六
JAVA/JSP学习系列之七
在Linux环境下安装JSP(一)
在Linux环境下安装JSP(二)

JSP 中的 我的Mysql5.0中文乱码解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 121 ::
收藏到网摘: n/a

最近学到jsp连接数据库那一块的时候,我也遇到了中文乱码问题~~呵呵,很头疼哦!
我用的数据库是Mysql5.0,所以,我先用google,baidu等上网搜了一下解决方案,自己也按着方法反复测试了一、两天之后,终于解决了我的JSP+Mysql5.0+tomcat-5.0.29出现的乱码问题。
解决方案如下:
1、在dos环境下,用mysql --default-character-set=gbk -u root -p 这句话进入mysql~~
2、建数据库、表,如下:
create database admin;
           use admin;

           CREATE TABLE admin (
           admin_name char(20) NOT NULL,
           admin_password char(20) NOT NULL
           ) TYPE=MyISAM,
           default character set gbk;

3、接着用如下testgbk.jsp测试,
<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" import="java.io.*" %>
<%
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver");
conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?user=root&password=123456&useUnicode=true&characterEncoding=gbk");
Statement stmt=conn.createStatement();
ResultSet rs=null;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title></title>
</head>
<body>
<table width="314" height="34" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#6666FF">
  <tr>
    <td align="center" height="19" width="100" style="font-size:10pt;color:red;">帐号</td>
    <td align="center" height="19" width="40" style="font-size:10pt;color:red;">密码</td>
  </tr>
<%
String temp = "insert into admin(admin_name,admin_password) values('你们好','123')";
PreparedStatement pst = conn.prepareStatement(temp);
pst.executeUpdate();
pst.close();
//结束
temp = "select * from admin";
rs=stmt.executeQuery(temp);
while(rs.next()){
String admin=rs.getString("admin_name");
String pass=rs.getString("admin_password");
%>
  <tr>
    <td align="center" height="19" width="100" style="font-size:10pt;color:blue;"><%=admin%></td>
    <td align="center" height="19" width="40" style="font-size:10pt;color:blue;"><%=pass%></td>
</tr>
<%
}
%>
<% 
rs.close();
stmt.close();
conn.close();
%>
  <tr>
    <td height="19" colspan="4" align="center" style="font-size:10pt;color:red;"> </td>
  </tr>
</table>
</body>
</html>

好了,现在让你头疼的mysql中文乱码问题是不是已经迎刃而解了呢?~~呵呵,搞定!