本人用的是MYSQL数据库,在一个JSP页面提取数据库的一个表格的中文内容时出现乱码,不知道该怎么解决?
用my sql 命令行查询,并能在my sql 命令行能正常显示中文内容,我在navicat下输入数据库表的中文内容
mysql> show variables like "%char%";
+--------------------------+---------------------------------------------------+
| Variable_name | Value
+--------------------------+---------------------------------------------------+
| character_set_client | gbk
|
| character_set_connection | gbk
|
| character_set_database | gbk
|
| character_set_filesystem | binary
|
| character_set_results | gbk
|
| character_set_server | gbk
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+------------------------------------------------------+
8 rows in set (0.16 sec)
JSP页面代码如下,city字段是城市名称如内容“北京”,不知问题出在哪?
<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<% request.setCharacterEncoding("gbk");
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/hualang?user=root&password=cui007&useUnicode=true&characterEncoding=gbk";
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
ResultSet rs=null;
rs=stmt.executeQuery("select * from tb_ware");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>无标题文档</title>
</head>
<body>
<%
while(rs.next()){
String city= rs.getString("city");
out.println(city+"<p>");
}
%>
用my sql 命令行查询,并能在my sql 命令行能正常显示中文内容,我在navicat下输入数据库表的中文内容
mysql> show variables like "%char%";
+--------------------------+---------------------------------------------------+
| Variable_name | Value
+--------------------------+---------------------------------------------------+
| character_set_client | gbk
|
| character_set_connection | gbk
|
| character_set_database | gbk
|
| character_set_filesystem | binary
|
| character_set_results | gbk
|
| character_set_server | gbk
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+------------------------------------------------------+
8 rows in set (0.16 sec)
JSP页面代码如下,city字段是城市名称如内容“北京”,不知问题出在哪?
<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<% request.setCharacterEncoding("gbk");
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/hualang?user=root&password=cui007&useUnicode=true&characterEncoding=gbk";
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
ResultSet rs=null;
rs=stmt.executeQuery("select * from tb_ware");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>无标题文档</title>
</head>
<body>
<%
while(rs.next()){
String city= rs.getString("city");
out.println(city+"<p>");
}
%>
String ret=null;
if(p_str==null)
return p_str;
try{
ret =new String(p_str.getBytes("iso-8859-1"),"gb2312");
} catch(java.io.UnsupportedEncodingException e){
err_str = e.getMessage();
}
return ret;
}