主题:vista系统下,汉字转拼音简码问题
各位老师,用下面的代码,在xp系统下,汉字可以正常转换成拼音简码,而在vista下,不能正常转换,比如,商品名称为"采乐",xp下正常为"CL",vista下为"CM",是什么原因?
xp下转换代码
*******************************
PARAMETER cHZCHR
LOCAL cPYCHR,i,j,C,HZ
cPYCHR=""
PYCode="八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗" &&从b开始的每个拼音码的首字符
FOR i=1 TO LEN(cHZCHR)
IF ASC(SUBSTR(cHZCHR,i,1))>160 &&判断是否为汉字
HZ=SUBSTR(cHZCHR,i,2)
C=""
FOR j=1 TO 26
IF SUBSTRC(HZ,1,1)<SUBSTRC(PYCode,j,1) &&进行汉字比较
C=CHR(96+j) &&得到首位拼音码
EXIT
ENDIF
ENDFOR
cPYCHR=cPYCHR+UPPER(C)
i=i+1
ELSE
cPYCHR=cPYCHR+UPPER(SUBSTR(cHZCHR,i,1))
ENDIF
ENDFOR
RETURN cPYCHR
*******************************************
xp下转换代码
*******************************
PARAMETER cHZCHR
LOCAL cPYCHR,i,j,C,HZ
cPYCHR=""
PYCode="八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗" &&从b开始的每个拼音码的首字符
FOR i=1 TO LEN(cHZCHR)
IF ASC(SUBSTR(cHZCHR,i,1))>160 &&判断是否为汉字
HZ=SUBSTR(cHZCHR,i,2)
C=""
FOR j=1 TO 26
IF SUBSTRC(HZ,1,1)<SUBSTRC(PYCode,j,1) &&进行汉字比较
C=CHR(96+j) &&得到首位拼音码
EXIT
ENDIF
ENDFOR
cPYCHR=cPYCHR+UPPER(C)
i=i+1
ELSE
cPYCHR=cPYCHR+UPPER(SUBSTR(cHZCHR,i,1))
ENDIF
ENDFOR
RETURN cPYCHR
*******************************************