Why does my Mysql support Chinese queries?

Source: Internet
Author: User
Q: When I write a query condition, the title is as follows: for example, I want to write all records whose field contains the word "li" $ str = "li "; select * fromtablewherefieldlike '% $ str %'; in addition to the records that contain the word "Li ",Q:

When I write a query condition, the title is as follows:
For example, if I want to write all records whose fields contain the word "Li ",
$ Str = 'Lil ';
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 Searching results are incorrect. This situation exists in many MySQL versions. If this title is not resolved, MySQL cannot actually process Chinese characters.

The reason for rendering this title is that MySQL is case-insensitive when querying strings, and generally uses the ISO-8859 character set as the default character set when programming MySQL, therefore, the case-sensitivity conversion of Chinese encoding characters causes this phenomenon.

Method 1:

The solution is to add the 'binary 'attribute to a field that contains Chinese characters to make it a binary match. 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 title is used as an example. the application method is as follows:
SELECT * FROM table WHERE locate (field, 'Lil')> 0;
This method is applied on this site, and I feel pretty 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.