python解决js文件utf-8编码乱码问题(推荐)
html文件中引入js文件,显示乱码!
js文件为utf-8编码(无bom) ,此时只要将js文件转成utf-8BOM编码就可以解决了
可以使用notepad++转码
也可以使用下面的python代码批量转码
#-*-coding:utf-8-*-
importos,sys
importchardet
defconvert(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的值[编码格式]
ifcoding!='UTF-8-SIG'andcoding=='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)
exceptIOErrorase:
#except:
print(e)
defexplore(dir):
forroot,dirs,filesinos.walk(dir):
forfileinfiles:
path=os.path.join(root,file)
convert(path)
defmain(dir):
if(os.path.isdir(dir)):
fpaths=[fpathforfpathinos.listdir(dir)ifos.path.isfile(dir+"\\"+fpath)andfpath.endswith('.js')]
dpaths=[dpathfordpathinos.listdir(dir)ifos.path.isdir(dir+"\\"+dpath)]
forfinfpaths:
convert(dir+"\\"+f,'utf-8','UTF-8-SIG')
fordindpaths:
print(d)
main(dir+"\\"+d)
if__name__=="__main__":
main('目录')
总结
以上所述是小编给大家介绍的python解决js文件utf-8编码乱码问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!