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

JSP
我认为JSP有问题(上)
我认为JSP有问题(下)
jsp“抓”网页代码的程序
关于在bean里面打印html的利弊看法
bean里面如何打印到html页面
jdbc3中的RowSet 接口规范
Apusic Application Server1.0中jsp源代码泄漏漏洞
Unify的eWave ServletExec拒绝服务漏洞
通过提交超长的GET请求导致IBM HTTP Server远程溢出
在HTTP请求中添加特殊字符导致暴露JSP源代码文件
Resin 1.2 重要源代码暴露漏洞
多中WEB服务器的通用JSp源代码暴露漏洞
Tomcat 暴露JSP文件内容
IBM WebSphere Application Server 暴露JSP文件内容
JRun 2.3.x 范例文件暴露站点安全信息
BEA WebLogic 暴露源代码漏洞
IBM WebSphere Application Server 3.0.2 存在暴露源代码漏洞
Tomcat 3.1 存在暴露网站路径问题
Sun Java Web Server 能让攻击者远程执行任意命令
Netscape 修复 JAVA 安全漏洞

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 126 ::
收藏到网摘: 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中文乱码问题是不是已经迎刃而解了呢?~~呵呵,搞定!