JSP读取数据库乱码问题,帮忙看看

ncuxieyan 2006-04-30 01:04:19
这是我这页的代码,可从数据库中读取的中文却是一个‘?’,请大家帮忙解决一下,麻烦讲清楚点,谢谢了

以下是从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>
...全文
224 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenvinp 2006-04-30
  • 打赏
  • 举报
回复
http://www.ideagrace.com/html/doc/2006/04/30/00787.html
huihuirunze 2006-04-30
  • 打赏
  • 举报
回复
对了上边那个例子是链接MYSQL数据库的,不要照抄哦。
huihuirunze 2006-04-30
  • 打赏
  • 举报
回复
给你个连接语句例子
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost:3306/teach?user=root&password=121826&useUnicode=true&characterEncoding=GB2312";

Connection conn= DriverManager.getConnection(url);



重点是数据库路径后加上useUnicode=true&characterEncoding=GB2312
如果还是不行,就要考虑,你的数据库输入页面是否加上了 request.setCharacterEncoding("GB2312"); 这样才能在表单获取中文字符。

81,122

社区成员

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

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