在吧字符串存入数据库之前,下用一下方法
str = new String(str.getBytes("ISO8859_1"), "GBK");
把字符的编码方式庄环一下。

解决方案 »

  1.   

    我觉得可能是数据库中表的字符编码设置的问题
    我用mysql,也出现过这个问题,用str = new String(str.getBytes("ISO8859_1"), "GBK");有时不一定好用
      

  2.   

    可能是javabean在进行set操作是出现的乱码,你在插入数据库前打印出来看看,如果是乱码的话,用二楼的方法一般都可解决.我原来就出现过这个情况
      

  3.   

    汉字写入数据库和读出数据库的时候都是要编码的,不然就会出现乱码.可以用过滤器加楼上的讲的函数解决这个问题.
    现在好像新的servlet标准提供了一些改进,专用于解决中文乱码问题.可以查看有关资料
      

  4.   

    request.setCharacterEncoding("gb2312");
      

  5.   

    我在项目中也碰到过这个问题,我一般也是和 l_zl7258(李) 一样处理的
    str = new String(str.getBytes("ISO8859_1"), "GBK");
      

  6.   

    进数据库:
    str = new String(str.getBytes("GBK"), "ISO8859_1");取出数据时
    str = new String(str.getBytes("ISO8859_1"), "GBK");
      

  7.   

    mysql:
    jdbc:mysql://localhost:3306/dbname?user=root&password=&useUnicode=true&charaterEncoding=GBK
      

  8.   

    数据库里面存的格式是 ISO8859_1
    而页面上可以正常显示的就是 GBK or GB2312 等.