首页 > 代码库 > Html和JS文件未使用UTF-8编码导致部分JS函数执行不正确
Html和JS文件未使用UTF-8编码导致部分JS函数执行不正确
昨天写Windows应用程序用的前端HTML页面时,发现了一个奇怪的问题,一段简单的JS代码,竟然执行错误。
function replaceSymbol(){ var val_exp = $('#calc_expression').val(); alert(val_exp); val_exp=val_exp.replace(/(/g,'(').replace(/)/g,')').replace(/×/g,'*').replace(/÷/g,'/'); alert(val_exp); $('#calc_expression').val(val_exp); }
代码比较简单,也就是替换表达式中的特殊字符,如: ( ) × ÷ 转换为英文状态的符号,如: ( ) * /
但即使包含上面的特殊字符,两次 alert 得到的结果均未变化。但同一个js文件中别的函数执行正常。
试着把这段代码提出来到一个单独的HTML页面,也执行正常。
很明显不是这段代码的问题。
后来想起来js文件是通过新建的txt文件修改扩展名而来的,默认的是ANSI编码。试着在 notepad++ 点击菜单栏的 格式 - 转为 UTF-8 编码格式,保存。
再次执行,OK了。
就是这个不起眼的编码格式的问题,被折腾了N久。
后来跟一个由VC++转做JS的朋友聊起这事儿,告知我:html、js和数据库等文件,一定要设置成 UTF-8 格式的,不然以后有你头疼的时候!
各种语言和工具,桌面开发和移动开发,真是各有各的坑,栽过了才知道哦。
记在这里,以示提醒!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。