1:GBK/UTF-8
(1)字符集范围不同:GBK编码支持中文字符和日韩字符,而UTF-8编码支持全球范围内的字符;
(2)编码方式不同:GBK编码采用双字节编码,每个字符占用2个字节,而UTF-8编码采用变长编码,一个字符的编码长度可为1-4个字节;
(3)兼容性不同:GBK编码在国内应用广泛,但在国际化应用上受到限制,而UTF-8编码具有更好的国际化兼容性;
(4)存储空间大小不同:由于GBK编码每个字符占用2个字节,因此在存储中占用的空间相对较大,而UTF-8编码采用变长编码,可以根据字符的实际长度来分配存储空间,因此在存储中占用的空间相对较小;
总之,GBK编码适用于中文和日韩语言环境,UTF-8编码适用于全球范围内的字符。
2:排序
(1)采用的是GBK字符集,那就可以直接按照拼音排序。因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了),直接在查询语句后面添加ORDER BY name ASC
(2)采用的是utf8字符集,需要在排序的时候对字段进行转码,对应的代码是ORDER BY convert(name using gbk) ASC,同样,查询的结果也是按照汉字拼音的升序排序。