Topic: 新手求助:为何读取mysql得到的中文全是乱码?

  Print this page

1.新手求助:为何读取mysql得到的中文全是乱码? Copy to clipboard
Posted by: gavin
Posted on: 2004-07-22 20:33

服务端resin

环境探针:http://73.n12.k007.org/j-bin/jspcheck.jsp
测试页面:http://73.n12.k007.org/j-bin/testMysql.jsp

代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>
<html>
<body>
以下是从Mysql数据库读取的数据:<hr>
<table border=1>
<tr><td>blogid</td><td>title</td><td>addtime</td></tr>
<%
Class.forName("com.caucho.jdbc.mysql.Driver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:mysql_caucho://localhost:3306/gavin","gavin_f","12345");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from sblog_blog;");
while(rst.next())
{
   out.println("<tr>");
   out.println("<td>"+rst.getString("blogid")+"</td>");
   out.println("<td>"+rst.getString("title")+"</td>");
   out.println("<td>"+rst.getString("addtime")+"</td>");
   out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
</table>
</body>
</html>

新手求助~!!!谢谢各位大各

2.Re:新手求助:为何读取mysql得到的中文全是乱码? [Re: gavin] Copy to clipboard
Posted by: chengbd
Posted on: 2004-07-22 20:46

使用类似这样的连接串:
"jdbc:mysql://localhost/train?user=support&password=support&useUnicode=true&characterEncoding=gb2312");

3.Re:新手求助:为何读取mysql得到的中文全是乱码? [Re: gavin] Copy to clipboard
Posted by: gavin
Posted on: 2004-07-22 21:16

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>
<html>
<body>
以下是从Mysql数据库读取的数据:<hr>
<table border=1>
<tr><td>blogid</td><td>title</td><td>addtime</td></tr>
<%
Class.forName("com.caucho.jdbc.mysql.Driver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:mysql_caucho://localhost:3306/gavin?user=gavin_f&password=12345&useUnicode=true&characterEncoding=gb2312");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from sblog_blog;");
while(rst.next())
{
   out.println("<tr>");
   out.println("<td>"+rst.getString("blogid")+"</td>");
   out.println("<td>"+rst.getString("title")+"</td>");
   out.println("<td>"+rst.getString("addtime")+"</td>");
   out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
</table>
</body>
</html>

偶改成上面的代码了,但出现错误 http://73.n12.k007.org/j-bin/testMysql.jsp

。。。

4.Re:新手求助:为何读取mysql得到的中文全是乱码? [Re: gavin] Copy to clipboard
Posted by: COWCOW
Posted on: 2004-07-23 08:07

<%@ page contentType="text/html;charset=GBK" %>

5.Re:新手求助:为何读取mysql得到的中文全是乱码? [Re: gavin] Copy to clipboard
Posted by: kkg
Posted on: 2004-07-25 14:25

new String(rs.getString()).getBytes("8859_1")

6.Re:新手求助:为何读取mysql得到的中文全是乱码? [Re: gavin] Copy to clipboard
Posted by: ww1ww1
Posted on: 2004-08-07 22:06

这个问题其实比较严重,而且常见!!

我这几天都在搞这个中文乱码问题!

输入的中文在数据库看是正确的,可是在jsp页面看就是乱码!
改成:
<%@ page contentType="text/html;charset=GBK" %>
数据库来的中文正确了!

可是页面get或者post而获得的在内存中的中文有会出现乱码

另外,一些特殊符号在中文状态下输入·和——,在数据库看ok的,可出来还会是乱麻,也不知道是什么原因???有人说是,数据库diver的不太好。。。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923