PHP前端开发

python解决js文件utf-8编码乱码问题

百变鹏仔 3小时前 #Python
文章标签 乱码

这篇文章主要介绍了python解决js文件utf-8编码乱码问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下

html文件中引入js文件,显示乱码!

js文件为utf-8 编码(无bom)  ,此时只要将js文件转成utf-8 BOM编码就可以解决了

可以使用notepad++转码

也可以使用下面的python代码批量转码

立即学习“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('目录')