SELECT * FROM `city` WHERE `name` LIKE '%参数%' or `name_en` LIKE '%参数%'SELECT * FROM `city` WHERE `name` LIKE '%s%' or `name_en` LIKE '%s%'
这样能搜索到!
但是SELECT * FROM `city` WHERE `name` LIKE '%上海%' or `name_en` LIKE '%上海%'这样却搜索不到!为什么啊?? 怎样解决啊!  要求无论是中文或英文都能搜索到改怎么办啊?

解决方案 »

  1.   

    看下字符集
    mysql> show create table tablea;
    +--------+---------------------------------------
    | Table  | Create Table
    +--------+---------------------------------------
    | tablea | CREATE TABLE `tablea` (
      `id` int(11) DEFAULT NULL,
      `name` varchar(20) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +--------+---------------------------------------
    1 row in set (0.00 sec)如果是Latin1,肯定搜不到。
      

  2.   

    字符集的原因,参考下贴中关系字符集的说明和如何检查。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  3.   

    要求无论输入大小写,或者中文,都能select出来,怎么解决?