CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp写入数据库乱码问题!!!!

楼主quartz_word(八楼蚊子)2005-12-16 09:50:06 在 Java / Web 开发 提问

小弟是JSP初学者。写了一段写数据库的程序代码如下:  
  <%@   page   contentType="text/html;charset=gb2312"   language="java"   import="java.sql.*,java.io.*"%>  
  <html>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <body>  
  <center>  
  添加数据<hr>  
  <%  
           
        try  
        {  
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();  
            Connection   con=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/myjsp?user=root&password=123&useUnicode=true&characterEncoding=gb2312");  
               
            PreparedStatement   pstmt=con.prepareStatement("insert   into   mydb   (name,title,email,content,datetimes)   values   (?,?,?,?,?)");  
             
            pstmt.setString(1,"王小华");  
            pstmt.setString(2,"介绍");  
            pstmt.setString(3,"hehe@163.com");  
            pstmt.setString(4,"hello!");  
            pstmt.setDate(5,new   java.sql.Date(new   java.util.Date().getTime()));  
            pstmt.execute();  
            pstmt.close();  
            Statement   stmt=con.createStatement();  
       
            stmt.execute("insert   into   mydb   (name,title,email,content,datetimes)   values   ('小华','message','haha@sina.com','hello   world!',now())");  
            out.println("添加数据成功!");  
             
            stmt.close();  
            con.close();  
        }  
         
        catch(Exception   e)  
        {  
            e.printStackTrace();  
        }  
         
   
   
  %>  
  </center>  
  </body>  
   
  </html>  
   
  我用的是MYSQL数据库,运行完程序后数据库中值是汉字的字段都出现了“?”号,有没有办法解决?  
  谢各位大侠!!! 问题点数:100、回复次数:11Top

1 楼skycncomp(闭关修练到年底)回复于 2005-12-16 09:55:53 得分 0

charset设成gbk试试  
   
   
  mysql是什么版本的?Top

2 楼xu51mm(xumin)回复于 2005-12-16 10:04:14 得分 0

加上:  
  <%request.setCharacterEncoding("gb2312");%>Top

3 楼masse(当午 http://blog.sina.com.cn/xukf)回复于 2005-12-16 10:07:13 得分 30

安装mysql的时候,编码选择GBK或者utf-8  
  链接的时候加上charsetEncoding=gbk或者utf-8Top

4 楼java_ak47(精通EJB)回复于 2005-12-16 10:07:34 得分 0

<%request.setCharacterEncoding("GBK");%>的字符集大一些Top

5 楼masse(当午 http://blog.sina.com.cn/xukf)回复于 2005-12-16 10:07:50 得分 0

另外,有可能是你的console不支持中文  
   
  你用程序读出来试试,Top

6 楼masse(当午 http://blog.sina.com.cn/xukf)回复于 2005-12-16 10:08:38 得分 0

GBK的字符集大?  
  能大过utf-8么,晕Top

7 楼QWERT520(痛苦并快乐着)回复于 2005-12-16 10:09:10 得分 30

1,首先,我修改了xml文件的编码方式,改为“GBK”编码格式的xml;  
  <?xml   version="1.0"   encoding="GBK"?>  
  2,   在访问数据库的配置文件中,访问mysql的url   参数修改为:useUnicode=true&characterEncoding=GBK;  
  3,在我的Pageconfig的类修改取xml的xml.getBytes("ISO8859-1"));  
  InputStream   st   =   new   ByteArrayInputStream(xml.getBytes("ISO8859-1"));  
  这个我先前也曾经尝试过,但没有匹配成功;  
  4,需要修改mysql数据库的默认编码:  
  default-character-set=GBK  
  default-collation=GBK  
   
  Top

8 楼quartz_word(八楼蚊子)回复于 2005-12-16 10:09:25 得分 0

我的数据库是4.1.13的。  
  谢谢两位大侠。可是还是不好用。  
  Top

9 楼quartz_word(八楼蚊子)回复于 2005-12-16 10:12:55 得分 0

谢谢各位,我再试试。Top

10 楼cwill(休息一下)回复于 2005-12-16 10:27:42 得分 40

呵呵使用  
  MySQL-Front   把MySQL的你使用的数据库,和所建的表的编码都改成GBK就好了  
  超强力推荐mysql管理软件MySQL-Front      
  至于数据库连接  
  jdbc:mysql://localhost:3306/DBName?characterEncoding=GBK  
  就完全ok了   不过我用过的是5.0   而且用了连接池,对了MySQL的JDBC驱动版本不能太老  
  还有像你这样执行了一条以上语句的情况一定要用JDBC的事务处理,如果执行出错就要  
  rollback     否则稍微大型点的系统你就等着用户把你电话打爆吧  
   
   
   
  Top

11 楼quartz_word(八楼蚊子)回复于 2005-12-16 12:06:06 得分 0

我重新装了一下数据库,并把字符集设置UTF-8,gbk我都试过了。现在我从数据库中读出的数据正常了,可是在MYSQL下看到的表中的数据还是“?”这是什么原因?Top

相关问题

  • 为什么写入数据库的中文是乱码?
  • tomcat+mysql,写入数据库时候出现乱码
  • tomcat+mysql,写入数据库时候出现乱码的问题
  • 为什么写入数据库的中文都成了乱码?
  • jsp提交form后, 写入数据库为何含中文字符串的字段为乱码,如何结决,望高手指点
  • 写入数据库!
  • 用JSP写入数据库出错,请高手指教,谢谢!
  • jsp读sybase数据库的乱码问题
  • jsp连oracle数据库时 中文乱码问题???
  • jsp连oracle数据库时 中文乱码问题???

关键词

  • 数据库
  • jsp

得分解答快速导航

  • 帖主:quartz_word
  • masse
  • QWERT520
  • cwill

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo