今天一位朋友的网站,挂一个QQ在线服务的JS浮动广告,怎是显示乱码,反复摆弄了好多次,还是显示乱码。
接着把这个JS放到其他的有些网页上,显示中文正常,有些显示也是乱码,在本地存到一个HTM文件里,在IE里浏览显示很正常,这就让我考虑到是网页显示编码的问题,经查实,这段JS是以gb2312编码存储的文件,而显示不正常的网页文件都是UTF-8编码存储的文件,在JS调用中必须纠正,让编码一致才能正确显示。
解决方法很简单:
调用的网站主页为 http://www.caifu58.ws/ 是用UTF-8编码的
而调用JS为 <script language="javascript" type="text/javascript" src="http://qqjs2.55.la/user_pic/qqjs/2009/05/22/12/114731.js"></script> 是用gb2312编码的
调用后显示为乱码,只需要在在<script>标签里设置一个 charset 即可,修改为:
<script language="javascript" type="text/javascript" src="http://qqjs2.55.la/user_pic/qqjs/2009/05/22/12/114731.js" charset=gb2312></script>
再回到 http://www.caifu58.ws/ 主页中去调用就显示正常了。
如果JS是用utf-8编码格式存储的,那么,在<script>标签里也相应地设置一个 charset 如:
<script language="javascript" type="text/javascript" src="http://qqjs2.55.la/user_pic/qqjs/2009/05/22/12/114731.js" charset="UTF-8"></script>