JSP读取数据库乱码问题,帮忙看看
这是我这页的代码,可从数据库中读取的中文却是一个‘?’,请大家帮忙解决一下,麻烦讲清楚点,谢谢了
以下是从MS SQL Server数据库读取的数据:
--------------------------------------------------------------------------------
id 书名 出版社 价格
001-22-23-1 jsp?????? ??????? 59.0
001-22-23-2 jsp?????? ??????? 59.0
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*,
java.io.*" %>
<html>
<head>
<title>测试MSsql</title>
</head>
<body>
以下是从MS SQL Server数据库读取的数据:<hr>
<table border="1">
<tr><td>id</td><td>书名</td><td>出版社</td><td>价格</td></tr>
<%!String trans(String chi)
{
String result=null;
byte temp [];
try
{
temp=chi.getBytes("iso-8859-1");
result=new String(name);
}
catch(UnsupportedEncodingException e)
{
System.out.println(e.toString());
}
return result;
}
%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection conn=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev","sa","");
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery("select * from book");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+trans(rst.getString("bookId"))+"</td>");
out.println("<td>"+trans(rst.getString("bookName"))+"</td>");
out.println("<td>"+trans(rst.getString("publisher"))+"</td>");
out.println("<td>"+rst.getFloat("price")+"</td>");
out.println("</tr>");
}
//关闭连接,释放资源
rst.close();
stmt.close();
conn.close();
%>
</table>
</body>
</html>