Javascript 中文字符串处理额外注意事项
var strSex="男" ;
在GB2312编码中,假设有另一变量strAxSex是从ActiveX控件中读出的BSTR值,原始值也是"男" ,这时做在javascript程序中做比较:strSex==strAxSex为false,也就是"男"!="男"。
但如果从VS2005调试中看表达式 strSex==strAxSex则为true,细看strSex.charCodeAt(0)与strAxSex.charCodeAt(0)也是相等的,而strSex.charCodeAt(0)与strAxSex.charCodeAt(0)也相等都为NaN。
再注意看vs2005变量值提示,可以看到strSex="□□“。原来是字符常量非unicode,导致strSex所赋值不同于"男"的unicode值。尝试把js文件另存为编码utf-8,再次运行,终于 strSex==strAxSex为true,程序运行与调试器表现一致,和日常逻辑也一致了。
在GB2312编码中,假设有另一变量strAxSex是从ActiveX控件中读出的BSTR值,原始值也是"男" ,这时做在javascript程序中做比较:strSex==strAxSex为false,也就是"男"!="男"。
但如果从VS2005调试中看表达式 strSex==strAxSex则为true,细看strSex.charCodeAt(0)与strAxSex.charCodeAt(0)也是相等的,而strSex.charCodeAt(0)与strAxSex.charCodeAt(0)也相等都为NaN。
再注意看vs2005变量值提示,可以看到strSex="□□“。原来是字符常量非unicode,导致strSex所赋值不同于"男"的unicode值。尝试把js文件另存为编码utf-8,再次运行,终于 strSex==strAxSex为true,程序运行与调试器表现一致,和日常逻辑也一致了。
相关推荐
Yvettre 2020-09-15
ChasingChasing 2020-08-31
yidaizongshi 2020-08-16
gsl 2020-08-15
上海滩 2020-07-19
AndesStay 2020-07-04
hohohogetitup 2020-06-19
ITlover00 2020-05-26
lcyangcss 2020-04-21
xilove0 2020-04-20
始终不够 2020-04-15
LUOPING0 2020-04-07
安辉 2020-03-28
xzkjgw 2020-03-27
xnuzfm 2020-03-07
gcong 2020-03-01
站在高处眺望 2020-02-20
Soinice 2020-02-02
Spark高级玩法 2020-02-01