日期:2014-05-16  浏览次数:20388 次

页面引入带汉字的js文件编码出错
以下只是本人经过简单测试得出的结论,不妥之处还请多多指正,欢迎讨论交流。

经常会遇到头疼的问题:页面中如果引入多个带有汉字的javascript文件时,可能会出现某些js文件不能被正常下载,出现编码解析错误的问题。

参考规则:
1.引入的js文件被载入时编码解析过程会依赖引入自己的那个宿主文件的编码解析格式
3.保持引入的js文件和宿主文件保存格式一致则不会发生编码解析混乱的问题

宿主文件:引入js文件的文件

A 宿主文件为动态页面时(如jsp、asp、.net等):

经过测试,貌似没有什么较好而且通用的解决办法,首先测试观察哪个js文件编码出错,然后找到没有出错的js文件,将出错的文件编码改成和没有出错的文件编码一致应该没有问题。

动态页面中<script charset="">中charset好像不起作用

若还未解决,检查服务器端是否对客户端下载的文件格式进行了过滤处理,尝试去掉对js文件的格式转换。

B 宿主文件为静态html文件时
1.若宿主文件是utf-8格式,则在文档中添加编码指令,若还未解决,则转到2步

2.若引入了utf-8的js文件,则在<script charset="utf-8">中指明引入格式。若未解决,继续

3.将宿主文件的编码格式修改为ANSI格式。


修改文件编码格式方法:使用EditPlus或者记事本打开文件,然后另存为,选择编码格式后保存即可。