网页动态引入js文件编码不一致导致中文乱码问题的解决

web开发有很多的难点,如:各浏览器之间的兼容性问题、sql注入、this指向问题、ajax跨域问题等等。前不久,帮客户定制了一款系统,该系统中的js文件是utf-8编码,而客户网页是需要引入该js文件的,但客户网页存在UTF-8和gbk编码,该js文件有向后台交互提交数据的功能,采用动态加载js的方式,代码如下:

var _wx_s_t_q = _wx_s_t_q || {};    
(function() {    
    var wx = document.createElement("script");    
    wx.src = "xx/request.js?"+new Date().getTime();    
    var s = document.getElementsByTagName("script")[0];    
    s.parentNode.insertBefore(wx, s);    
})();

被gbk编码的网页引入后,直接报错,功能不可用,翻看手册,script对象有chaset属性,于是稍加修改,指定了编码为:utf-8,一切正常,最终代码如下:

var _wx_s_t_q = _wx_s_t_q || {};    
(function() {    
    var wx = document.createElement("script");   
    wx.charset = 'UTF-8'; 
    wx.src = "xx/request.js?"+new Date().getTime();    
    var s = document.getElementsByTagName("script")[0];    
    s.parentNode.insertBefore(wx, s);    
})();

温馨提示,建议网页编码还是以utf-8好些,基本上开源js项目均采用这一编码,通用性强。避免了因编码问题导致的中文乱码问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

× 4 = 8

联系我们

132-0493-0970

在线咨询:点击这里给我发消息

邮件:1535604235@qq.com

工作时间:周一至周五,9:00-18:30,节假日休息

QR coce