Q: When I write a query condition, the problem is as follows: For example, if I want to write all records whose fields contain the word "Li ", $ STR = "Li "; Select * from table where field like '% $ STR % '; In addition to records containing the word "Li", the displayed records do not contain the word "Li. Why? A: 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. The cause of this problem is: 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-sensitivity conversion of Chinese encoding Characters During the comparison process causes this phenomenon. 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 the -- with -- charset = GBK parameter when compiling MySQL, so that MySQL can directly support Chinese searching 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; This method is used on this site, and it feels good. : P Method 4: Change your select statement to this way. Select * from table where fields like binary '% find %! |