Why doesn't my MySQL support Chinese query? _php Tutorial

Source: Internet
Author: User
Q:
I am writing a query condition when the problem is as follows:
If I want to write all the records that contain the word "Li" in a field
$str = "Li";
SELECT * FROM table where field like '% $STR% ';
In addition to the record containing the word "Li", there is a record that does not contain the word "Li". Why?

A:
In MySQL, the sorting and finding results of Chinese characters are wrong when sorting and searching in the same language. This situation is present in many versions of MySQL. If this problem is not resolved, then MySQL will not be able to actually handle Chinese.
This problem occurs because MySQL is case insensitive when querying strings, and when Yi MySQL is generally used as the default character set for the ISO-8859 character set, this behavior is caused by the Chinese encoding character-case conversion during comparison.
Method One:
The workaround is to add the "binary" attribute to the field that contains the Chinese as a binary comparison, for example, change "name char (10)" to "name Char (TEN) binary".
Method Two:
If you compile MySQL using the source code, you can compile MySQL using the--WITH--CHARSET=GBK parameter, so that MySQL will support the Chinese search and sort directly.
Method Three:
You can use Mysql's locate function to judge. Take the above problem as an example, using the following method:
SELECT * FROM table WHERE locate (field, ' Lee ') > 0;
This site uses this method, it feels good. :P
Method Four:
Change your SELECT statement to this, select * from TABLE WHERE fields like BINARY '%find% ' Can!

http://www.bkjia.com/PHPjc/632466.html www.bkjia.com true http://www.bkjia.com/PHPjc/632466.html techarticle Q: I am writing a query condition when the problem is as follows: If I want to write a field containing the word "Li" all records $str = "Li"; select * from table where field like% $STR%;

  • 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.