我写的这段代码连接sql server出现了中文乱码问题,能不能给我点提示将问题解决啊。
我的代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%!
public static String getGBString(String src) {
try {
return new String(src.getBytes("ISO-8859-1"), "gb2312");
} catch (java.io.UnsupportedEncodingException e) {
return null;
}
}
%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{%>
您的第一个字段内容为:<%=getGBString(rs.getString(1))%>
<br>
<!--rs.getString("xxxx").getBytes("ISO8859_1"), "gb2312");-->
您的第二个字段内容为:<%=getGBString(rs.getString(2))%> <br>
<%}%>
<%out.print("数据库连接成功,恭喜你!!!");%> <br>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
调试的结果如下:
您的第一个字段内容为:0304251
您的第二个字段内容为:???
您的第一个字段内容为:0304252
您的第二个字段内容为:??
数据库连接成功,恭喜你!!!
在这里先谢谢了。