在java程序中,我用的数据库是MYSQL..
在查询语句中,查询条件为 英文或数字的可以查到记录,但条件是 中文的时候,没有记录!~例如:
select * from usrename (查询有结果)
select * from username where peoname='GG' (,查询有结果)
select * from username where peoname='哈哈'(数据库里有这个peoname为“哈哈"的记录,查询没结果)。
为什么会这样呀?

解决方案 »

  1.   

    CHECK一下是否是字符集的问题, 或试试like '%哈哈%'
      

  2.   

    建立jdbc连接的时候,指定encoding
      

  3.   

    支持二楼.因为你写的时候可能哈哈前后多了一个不可见字符.查的时候可能查不到,
    像写,读数据库的时候,字符串最好用trim()去掉前后空格啊什么的.
      

  4.   

    enshiwzw 你说的我做过了。
    例如:
    sql="select * from username ";
    sql=sql+"WHERE peoname='"+jTextFieldName.getText().trim()+"'";
    我这样写也不行咯。
      

  5.   

    在建立jdbc时,我是这样的
     private String url= "jdbc:mysql://localhost:3306/bb?user=root&password=123456&useUnicode=true";