Javascript中文字符串处理额外注意事项
JavaScript中文 处理 字符串 注意事项 额外
2023-06-13 09:14:14 时间
varstrSex="男";
在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,程序运行与调试器表现一致,和日常逻辑也一致了。
相关文章
- javascript 高级教程 视频_精通JavaScript
- javascript动画效果代码html_javascript代码写在哪里
- 前端面试之JavaScript
- 从java到JavaScript(1),看Dart:对比Java/Go/Swift/Rust
- JavaScript学习总结(五)——Javascript中==和===的区别详解编程语言
- JavaScript 的性能优化:加载和执行详解编程语言
- javascript检测内存泄漏的方法详解编程语言
- javascript 过滤中文汉字和 过滤中文汉字和符号的方法详解编程语言
- javascript十个最常用的自定义函数(中文版)
- Javascript在IE或Firefox下获取鼠标位置的代码
- JavaScript学习笔记(十)
- JavaScript设计模式富有表现力的Javascript(一)
- JavaScript克隆双重输入文字
- JavaScript正则表达式验证中文实例讲解
- 使用javascript实现ListBox左右全选,单选,多选,全请
- JavaScript修改css样式style动态改变元素样式
- JavaScript中的Math使用介绍
- 一些老手都不一定知道的JavaScript技巧
- javascript使用正则表达式检测IP地址
- JavaScript中伪协议javascript:使用探讨
- javascript获取四位数字或者字母的随机数
- javascript面向对象快速入门实例
- javascript对中文按照拼音排序代码