我們的mysql使用latin1的預設字符集,也就是說,對漢字字段直接使用gbk內碼的編碼進行儲存,當需要對一些有漢字的字段進行拼音排序時(特別涉及到類似於名字這樣的字段時),預設無法通過order by關鍵字正確排序。
經過網上查詢,網上的辦法大多是針對使用utf8字符集的資料庫,主要的方法有:
1)直接轉換欄位為gbk,比如:
select * from table order byconvert( chinese_field using gbk ) ;
或者乾脆將相應字段改為gbk字符集。
mysql欄位按照拼音排序
我們的mysql使用latin1的預設字符集,也就是說,對漢字字段直接使用gbk內碼的編碼進行儲存,當需要對一些有漢字的字段進行拼音排序時 特別涉及到類似於名字這樣的字段時 預設無法通過order by關鍵字正確排序。經過網上查詢,網上的辦法大多是針對使用utf8字符集的資料庫,主要的方法有 直接轉...
MySQL按照漢字的拼音排序
按照漢字的拼音排序,用的比較多是在人名的排序中,按照姓氏的拼音字母,從a到z排序 如果儲存姓名的字段採用的是gbk字符集,那就好辦了,因為gbk內碼編碼時本身就採用了拼音排序的方法 常用一級漢字3755個採用拼音排序,二級漢字就不是了,但考慮到人名等都是常用漢字,因此只是針對一級漢字能正確排序也夠用...
MySQL按照漢字的拼音排序
按照漢字的拼音排序,用的比較多是在人名的排序中,按照姓氏的拼音字母,從a到z排序 如果儲存姓名的字段採用的是gbk字符集,那就好辦了,因為gbk內碼編碼時本身就採用了拼音排序的方法 常用一級漢字3755個採用拼音排序,二級漢字就不是了,但考慮到人名等都是常用漢字,因此只是針對一級漢字能正確排序也夠用...