JavaScript 脚本文件编码导致的问题
JavaScript 脚本文件编码导致的问题
最近项目里出现了一个怪问题,有一段脚本只有嵌在 .aspx 页面中才能正确执行,如果把它单独保存在一个 .js 文件里,然后在 .aspx 连接脚本文件就死活不能运行,总是脚本报错。折磨了很久,最后只能把脚本单独放在每个页面里面,可是很明显这种做法狠不好,每个页面都有一份拷贝,如果改起来可就很可怕了。
后来项目另外一个以前一直正常的 .js 文件也出现了这个问题,问题出在哪?对比了出错前后两个版本的代码,发现原来脚本里面的注释都是英文的,现在的增加了一行中文,。这才恍然大悟,肯定就是编码的问题了。一看果然,web.config,.aspx 都是设置为UTF-8 编码的,而 js 文件则是GB2312 编码,客户端执行页面时候嵌入的js 脚本没有中文倒好,有了中文之后被识别成乱码,整个脚本乱了套了,能执行才怪呢。