Why does my MySQL support Chinese Query?

Source: Internet
Author: User
Why does my MySQL support Chinese Query?
 

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 %!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.