在jsp里查找下表(只是输入中文的时候出现错误,输英文正常)CREATE TABLE `foods` (
  `foodsid` int(11) NOT NULL auto_increment,
  `foods` varchar(200) NOT NULL,
  PRIMARY KEY  (`foodsid`),
  UNIQUE KEY `uf` (`foods`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;查询语句: String judge1 = "select * from foods where foods like'"+foodname+"'";
出现错误
java.sql.SQLException: Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'like'

解决方案 »

  1.   

    mysql> SHOW VARIABLES LIKE 'character_set_%';
    +--------------------------+----------------------------------------------------
    -----+
    | Variable_name            | Value
         |
    +--------------------------+----------------------------------------------------
    -----+
    | character_set_client     | latin1
         |
    | character_set_connection | latin1
         |
    | character_set_database   | latin1
         |
    | character_set_filesystem | binary
         |
    | character_set_results    | latin1
         |
    | character_set_server     | latin1
         |
    | character_set_system     | utf8
         |
    | character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.0\share\chars
    ets\ |
    +--------------------------+----------------------------------------------------
    -----+
    8 rows in set (0.00 sec)
      

  2.   

    查了一下value都是latin1
    用set改了成了GBK
    重开mysql之后又变回了latin1
    如何永久的改成GBK呢???