求解决不同MYSQL版本中,中文的乱码问题。

mimi_eleven 2004-02-17 08:42:43
我计算机里装有MYSQL-4.0.17和MYSQL-4.1.1a-alpha两个版本,
都使用的默认字符集latin1建数据库(基于同一.sql文件),
使用mysql-connector-java-3.0.10-stable-bin.jar连接数据库,
使用的是jakarta-tomcat-4.1.18版本的WEB服务器。
我用同一个JSP程序访问不同版本的MYSQL数据库里的数据,
MYSQL-4.0.17能直接取出中文,
而MYSQL-4.1.1a-alpha取出的是乱码。
请问是什么地方出了问题?

附JSP主要代码:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GBK">
<title>
测试MYSQL不同版本连接
</title>
</head>
<body>
<div align="center">

<table cellspacing="0" cellpadding="0" border="0" width="778">
<tr>
<td>
<%
try
{
Class.forName("org.gjt.mm.mysql.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/mynote?useUnicode=true&characterEncoding=GBK",
"root",
"");
Statement state = con.createStatement();
String str=
"SELECT username, password, name, email, phone, address " +
"FROM zmiuser";
ResultSet rs = state.executeQuery(str);
String username = null;
String name = null;
String email = null;
%>
<table>
<%
while(rs.next())
{
username = rs.getString("username");
name = rs.getString("name");
email = rs.getString("email");
System.out.println("username: " + username + "\tname: " + name + "\temail: " + email);
%>
<tr>
<td>
<%= username %>
</td>
<td>
<%= name %>
</td>
<td>
<%= email %>
</td>
</tr>

<%
}
%>
</table>
<%
out.print("successful");
rs.close();
state.close();
con.close();
}
catch(Exception ex)
{
out.print("wrong");
}
%>

</td>
</tr>
</table>
</div>

</body>
</html>
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧