In the like Query of MySQL, we find that Chinese search is always hard-earned. We have found several solutions on the Internet. You can refer to the following:
Method 1:
The solution is to add the "binary" attribute to a field that contains Chinese characters for Binary comparison. For example, change "name char (10)" to "name ".
Char (10) binary ".
Method 2:
If you use the source code to compile MySQL, you can use -- with -- charset = GBK to compile MySQL.
Parameter, so MySQL can directly support Chinese search and sorting.
Method 3:
You can use the locate function of MySQL to determine. The preceding problem is used as an example:
Select * from table where locate (field, 'lil')> 0;
Method 4:
Change your select statement to this way. Select * from table where fields like binary '% find % '.
The cause of the problem is:
In MySQL, Chinese Character sorting and search results are incorrect. This situation exists in many MySQL versions. If this problem is not solved, MySQL cannot actually process Chinese characters.
MySQL is case-insensitive when querying strings. In programming MySQL, The ISO-8859 character set is generally used as the default character set. Therefore, the case-sensitive conversion of Chinese encoded characters causes this phenomenon during comparison.
The third method I used is select * from table where locate ('field name', 'keyword ')> 0;
Locate (substr, STR)
Returns the position of the substring substr that appears for the first time in the STR string. If the substring is in
STR does not exist. The returned value is 0:
Mysql> select locate ('bar', 'foobarbar ');
-> 4