小编给大家分享一下python如何解决js文件utf-8编码乱码的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比文登网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式文登网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖文登地区。费用合理售后完善,十多年实体公司更值得信赖。html文件中引入js文件,显示乱码!
js文件为utf-8 编码(无bom) ,此时只要将js文件转成utf-8 BOM编码就可以解决了
可以使用notepad++转码
也可以使用下面的python代码批量转码
# -*- coding:utf-8 -*- import os,sys import chardet def convert( filename, in_enc = "GBK", out_enc="UTF-8" ): try: print("convert " + filename) f = open(filename,'rb') content = f.read() result = chardet.detect(content)#通过chardet.detect获取当前文件的编码格式串,返回类型为字典类型 print(result) f.close() coding = result.get('encoding')#获取encoding的值[编码格式] if coding != 'UTF-8-SIG' and coding == 'utf-8':#文件格式如果是utf-8的时候,才进行转码 print(coding + " to "+ out_enc +"!") new_content = content.decode(in_enc).encode(out_enc) f = open(filename, 'wb') f.write(new_content) f.close() print(" done") else: print(coding) except IOError as e: # except: print(e) def explore(dir): for root, dirs, files in os.walk(dir): for file in files: path = os.path.join(root, file) convert(path) def main(dir): if(os.path.isdir(dir)): fpaths = [fpath for fpath in os.listdir(dir) if os.path.isfile(dir+"\\"+fpath) and fpath.endswith('.js')] dpaths = [dpath for dpath in os.listdir(dir) if os.path.isdir(dir+"\\"+dpath)] for f in fpaths: convert(dir+"\\"+f,'utf-8','UTF-8-SIG') for d in dpaths: print(d) main(dir+"\\"+d) if __name__ == "__main__": main('目录')
以上是“python如何解决js文件utf-8编码乱码的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!