Mysql5.0中文乱码解决方案

时间:2022-09-22 18:52:26
最近学到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中文乱码问题是不是已经迎刃而解了呢?~~呵呵,搞定!

<script type="text/javascript">&lt;!--google_ad_client = 'pub-4196225375348397';google_ad_width = 728;google_ad_height = 90;google_ad_format = '728x90_as';google_ad_channel ='7447308247';google_color_border = '336699';google_color_bg = 'FFFFFF';google_color_link = '0000FF';google_color_url = '008000';google_color_text = '000000';//--&gt;</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>