Enable MySQL to support Chinese sorting
When programming MySQL, The ISO-8859 character set is generally used as the default character set. Therefore, during the comparison process, one solution is to add the "binary" attribute to a field that contains Chinese characters so that it can be used as a binary comparison,
For example, change "name char (10)" to "name char (10) binary ".
Use the -- with -- charset = gbk parameter when compiling MySQL, so that MySQL directly supports Chinese searching and sorting.
Mysql order by Chinese sorting
In MySQL, we often sort and query a field. However, when sorting and searching Chinese characters, the sorting and searching results of Chinese characters are often incorrect. This situation exists in many MySQL versions.
If this problem is not solved, MySQL cannot actually process Chinese characters. The reason for this problem is that 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.
Solution:
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 ".
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 search and sorting (latin1 by default ). You can also use extra-charsets = gb2312 and gbk to add multiple character sets.
If you do not want to modify the table structure or re-compile MySQL, you can also use the CONVERT function in the order by section of the query statement. For example, select * from mytable order by CONVERT (chineseColumnName USING gbk );
The default verification set of UTF8 is utf8_general_ci, which is not in Chinese. You need to force MySQL to be sorted in Chinese.
Select * from core_vender_info order by convert (vender_abbrev USING gbk) COLLATE gbk_chinese_ci