网络编程
位置:首页>> 网络编程>> Python编程>> python解决js文件utf-8编码乱码问题(推荐)

python解决js文件utf-8编码乱码问题(推荐)

作者:雨夜星辰03  发布时间:2023-03-19 04:55:27 

标签:python,utf8,乱码

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编码乱码问题网站的支持!

来源:https://blog.csdn.net/QWERTY1994/article/details/80164119

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com