mysql数据库中存储的是中文.代码如下:
ResultSetMetaData statName= rs.getMetaData();
for(int i=1;i<=statName.getColumnCount();i++){
out.print(statName.getColumnName(i));
}
无论直接输出还是编码转化都是乱码.数据库中显示正常。
new String(str.getBytes("iso-8859-1"),"GB2312");
jsp文件如下:
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=gb2312"%>
<%
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
String sql="";
String xy="理学院";
String bynf="2006";
request.setCharacterEncoding("gb2312");
//response.setCharacterEncoding("gb2312");
sql="select taizhang2.姓名,taizhang2.身份证 from biyes,taizhang2 where biyes.身份证号=taizhang2.身份证 and 院系所 like '%"+xy+"%'and taizhang2.毕业年份='"+bynf+"'";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();//加载驱动程序
String url="jdbc:mysql://localhost:3306/dhgl";
con=DriverManager.getConnection(url,"root","root"); //建立连接
System.out.println("数据库连接成功,准备插入数据......");
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
ResultSetMetaData statName= rs.getMetaData();
//System.out.println(statName.getColumnCount());
response.setCharacterEncoding("gb2312");
for(int j=1;j<=statName.getColumnCount();j++)
{
out.println(statName.getColumnName(j)+"
");
}
}
catch(ClassNotFoundException ce)
{ System.out.println(ce); }
catch(SQLException se)
{ System.out.println(se); }
catch(Exception e)
{ System.out.println(e); }
%>