CString:Compare比较字符串在VC 2005中回到结果居然不对

CString::Compare比较字符串在VC 2005中返回结果居然不对?
CString s1 = TEXT("壁灯Test");
int ret = s1.Compare(TEXT("低压灯安全隔离变压器Test"));

上面的代码,在VC 6中ret值为-1,这没有问题,但是在VC 2005中返回值居然是1?
VC 6用的是多字节字符集,VC 2005用了Unicode。
是什么原因呢?请指教,谢谢!

------解决方案--------------------
引用:
谢谢回复,我在此方面理解不够深入。
但是,如果我想在VC 2005中得到和VC 6中同样的结果,应该如何处理呢?
毕竟,从拼音排序来说,VC 6的结果是正确的。

哦,不好意思,我理解错误了。。。
刚才没贴全,
UNICODE下,
壁灯是:E5A381E781AF
低压是:E4BD8EE58E8B
ANSI下,
壁灯是:B1DAB5C6
低压是:B5CDD1B9

字符串一般就是比较相等吧。要想结果一致,就需要两个编译器的字符集相同。VC2005可以设置多字节字符的。
实在不行,就转一下字符集。
------解决方案--------------------
转成同一编码,然后比较
CompareStringOrdinal()比如两个Unicode的字符串