When compiling Yi MySQL, the ISO-8859 character set is generally used as the default character set, so the Chinese coded character case conversion in the comparison process causes this phenomenon, and one solution is to add the "binary" attribute to the field that contains the Chinese, making it a binary comparison
let MySQL support Chinese sort
Yi MySQL generally use the ISO-8859 character set as the default character set, so in the comparison process of Chinese-encoded character case conversion caused this phenomenon, a workaround is to include the Chinese field with a "binary" attribute, so that it as a binary comparison,
For example, change "name char (10)" to "name Char (TEN) binary".
Compile MySQL using the--WITH--CHARSET=GBK parameter, so that MySQL will directly support the Chinese find and sort.
MySQL ORDER by Chinese sort
In MySQL, we often sort a field query, but in Chinese sorting and search, the Chinese character sorting and search results are often wrong. 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.
Workaround:
For fields that contain Chinese, add the "binary" attribute to the binary comparison, for example, "name char (10)" to "name Char (TEN) binary".
If you compile MySQL using the source code, you can compile MySQL using the--WITH--CHARSET=GBK parameter, so that MySQL will directly support the Chinese search and sort (default is Latin1). You can also use EXTRA-CHARSETS=GB2312,GBK to add multiple character sets.
If you do not want to modify the table structure or recompile MySQL, you can also use the CONVERT function in the order by section of the query statement. For example, select * FROM MyTable ORDER BYCONVERT (chinesecolumnname USING GBK);
UTF8 default Proofing set is Utf8_general_ci, it is not in Chinese. You need to force MySQL to sort by Chinese.
SELECT * from Core_vender_info ORDER by convert (Vender_abbrev USING gbk) COLLATE gbk_chinese_ci
MySQL Chinese sort