win2k下用excel排序"作坐座做"
升序结果为:作坐座做这四个汉字的内码分别为:
Ansi     D7F7 D7F8 D7F9 D7F6
Unicode  5C4F 5057 A75E 5A50好象两种内码都不递增
为什么呢?
谢谢

解决方案 »

  1.   

    不是按区位码排序
    否则结果应该为:做作坐座
    即ansi内码序:D7F6 D7F7 D7F8 D7F9
      

  2.   

    估计是与代码页/locale/language有关。我试了一下:
    对于"作坐座做",
    . 当用win32 api函数lstrcmp()排序时,结果为"作坐座做";
    . 当用_tcscmp()函数或CString的">"/Compare()排序时,结果则为"做作坐座";MSDN Res:
    . _tcscmp()“are not affected by locale”,
    . lstrcmp()则locale相关那么locale是如何影响排序的呢?
    郁闷中.....
      

  3.   

    了解了
    lstrcmp()是先拼音后笔画
    呵呵