as the most important:文本字段内容,如何排序呀?按拼音还是按什么规则?

来源:百度文库 编辑:高校问答 时间:2024/05/11 01:32:00
select * from table order by sname
其中sname为文本字段,记录内容基本都为中文,请问如何在显示所有记录时,按此字段排序,上面这行代码怎么不能按拼音规则排序呢!

普通机器排序是按一个一个BYTE的ASCII 值大小来排。
中文(以GB2312为例)是双字节编码,而且是两个8 bit码 (ASCII 是 7 bit 码),中文码的值大于0xA1A1. 中文编码值的大小次序不是按拼音,而是按符号,常用字,不常用字排列。

所以要另写专用程序排序。(还要考虑用的是什么中文码: GB2312, GBK, GB18030, unicode,UTF-8,UTF-7).