java吧 关注:1,243,630贴子:12,716,702
  • 37回复贴,共1

jdbc乱码问题,求大神拯救

只看楼主收藏回复

sql语句输出来如下
select distinct t.erid erid,f.sortid sortid,'从化区档案局(馆)电子文件(档案)管理中心系统' m6,t.m22 m22,t.m31 m31,t.m33 m33,t.m903 m903,t.m26 m26,t.m32 m32,t.m8 m8 ,t.m901 m901 from t_er_fulltext f RIGHT OUTER JOIN t_er_txtmd t on f.erid=t.erid where ( contains(fulltext,'%') >0 or t.m22 like '%%%' or t.m31 like '%%%' or t.m33 like '%%%' or t.m903 like '%%%' or t.m26 like '%%%' or t.m32 like '%%%' or t.m8 like '%%%') and (t.m901='开放')
关键代码:dataConnection = DataConnectionPool.getInstance();
this.conn = dataConnection.getConnectionfulltext(key);
stmt= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
执行完得到的结果集m6不是 从化区档案局(馆)电子文件(档案)管理中心系统,全是???。而表里面其它字段中文的还是中文。而同样的这个语句放在sqldeveloper里面执行正常,m6为从化区档案局(馆)电子文件(档案)管理中心系统。求大神解释并给出解决方法。


1楼2016-09-12 19:24回复
    @神宫寺铃香 @骑着驴儿去编程 @alwing


    2楼2016-09-12 19:31
    回复
      浏览器上乱码?


      IP属地:内蒙古来自Android客户端3楼2016-09-12 19:36
      收起回复
        浏览器乱码的话,输出之前先转码,如果没在输出到浏览器之前就乱骂了,就考虑是不是数据库编码的问题了……


        来自iPhone客户端4楼2016-09-12 21:21
        收起回复
          首先jsp页面要设编码格式utf-8,不行的话给response和request设置编码格式,楼主现在在上班吗?


          来自Android客户端5楼2016-09-12 22:13
          收起回复
            好几个地方的编码统一一下就很方便了,数据库创建时的编码用UTF-8,jdbc连接数据库url中设置参数编码为UTF-8,jvm内部默认UTF-8不用设,jsp页面设置为UTF-8,request response设置为UTF-8。。。


            IP属地:广东来自iPhone客户端6楼2016-09-13 01:01
            收起回复