如题,打开数据库中 发现里面存的 是乱码,时间不是乱码。插入的中文都是乱码了!
大概什么原因呢

解决方案 »

  1.   

    很多原因,不同层次上的:
    首先你判断的执行的SQL语句中是否有乱码,打印看看就知道,若是乱码就是参数提交中文编码转化问题
    还有数据库层次的,MySql需要设置编码,确认是否gbk或gb2312
      

  2.   

    如楼上所说,如果是MYSQL数据库,可以在连接的URL里指定编码格式。如果是其他的,可以尝试使用过滤器进行解决。直接用TOMCAT中EXAMPLE里的过滤器应该就可以有效。当然,也可以自己写,反正也就几行代码,呵呵。
      

  3.   


    post 提交的话 请确定你有没有处理字符的过滤器,
    get  提交的时候有没有转码过呢
      

  4.   

    是这样的 ,汉字对于的编码是gbk 和gb2312 gbk是简繁体中文,而gb2312是简体中文,因为你数据库中插入的数据就是乱码所以是你没有处理汉字,要先将汉字通过gbk,gb2312解码,或者用utf-8. 因为一般编辑器都是默认的ISO-8859-1。所以如果我们传值或是往数据库中插就要先转化:比如
             String bb="汉字";
            Stirng cc=new String((bb).getBytes("ISO-8859-1"),"GBK");
            这时cc就是“汉字”了,如果没有第二句的处理,就是乱码       
      

  5.   

    我Action中
    String topic=request.getParameter("topic");
    String who=request.getParameter("who");
    Talk talk=new Talk();
    talk.setTopic(topic);
    talk.setWho(who);
    System.out.println(talk.getTopic());//输出的已经是乱码的 ,是不是要把String topic=request.getParameter("topic");先做个处理下,像楼上说的,马上试下
      

  6.   

    request.setCharEncoding("utf-8");可能拼错了。不过我也记不清了。
    离了IDE真的是什么都不会了。