类似这样:select name,decode(sex,'0','男','女') from table;结果为name=张三,sex=男
那么‘男’显示的就是乱码,请问怎么解决。

解决方案 »

  1.   

    debug到list结果集,如果出来的数据乱码,就是数据库编码和项目编码不一致,建议都设置成UTF-8,
    先看下数据库里面是不是乱码
      

  2.   

    plsql查询结果政策,list结果集里就是乱码,数据库编码是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,Java类编码是GBK
      

  3.   

    select name,case when sex=0 then 男 else 女 end from table;
    试试
      

  4.   

    首先编码要统一,如果还不行就写一个filter进行过虑
      

  5.   

    连接字符串里指定编码
    jdbc:mysql://localhost/XXXX?user=root&password=&useUnicode=true&characterEncoding=GBK
      

  6.   

    方案一、在web.xml中配转码过滤器
      方案二、应用转码工具类
         方案三、数据库端配置,如下:
    localhost:3306/database?useUnicode=true&characterEncoding=UTF8
      

  7.   

    response.setCharacterEncoding("utf-8");
      

  8.   

    插入中文没有问题,实际上取出中文也没有问题,只有在sql语句里自定义的中文才会出现乱码。