mysql数据库,表是utf-8的字符集,JDBC连接字符串指定编码为utf-8,使用: 
select * from table where name<>'测试' ; 
查询表时where语句没起作用,好像是中文编码的问题,而且数据库是别人的我只能读不能修改数据库的属性,想请教各位一下如何解决?谢谢!

解决方案 »

  1.   

    select * from table where name like '%测试%';首先确认这条记录是否真的存在 <> 说不定不好使~然后你在控制台输出语句 看看有没有问题查询英文 有没有问题然后LZ补充问题的进展 
      

  2.   

    将my.ini中的配置default-character-set=latin1改为default-character-set=utf-8试试看
      

  3.   

    设计表中把name 字段属性设置为gb2312
      

  4.   

    设计表中把name 字段属性设置为gb2312  
      

  5.   

    你确定你的JDBC链接已经做好了字符编码中转换?
    现在一般书写一个中文过滤器就可以解决这个中文乱码问题了。
      

  6.   

    首先感谢各位,我试了各位的方法:
    1、如果是select * from table的话字符可以在jsp中正常显示,但是如果在where语句里用到了中文字符where语句就不起作用。
    2、如果where语句用英文:select * from table where name <>'test'是可以实现的。
    3、在Navicat8中,我把连接属性的mysql字符集改成GB2312,可以在Navicat的console中实现,用Default(UTF-8)的就不行。
    4、由于是人家的数据库我只能读不能改人家的库。
    5、用like语句不行。
    6、在jdbc的连接字符串中我指定了characterEncoding=UTF-8还请各位再帮忙给看看!
    谢谢大家了!
      

  7.   

    连接保持UTF-8,把含中文的SQL字符串转为GB2312,送到数据库做查询
      

  8.   

    将my.ini中的配置
    把2处
    default-character-set=gbk
    改为default-character-set=gbk
    改好了以后把以前的数据库全部删除!在重新建立过就OK了
      

  9.   

    把编码转化一下看看。我感觉他们的mysql数据库是默认安装的!