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

yipeiwu_com6年前Python基础

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编码乱码问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python中定义结构体的方法

Python中没有专门定义结构体的方法,但可以使用class标记定义类来代替结构体,其成员可以在构造函数__init__中定义,具体方法如下。 复制代码 代码如下:class item:...

Python使用minidom读写xml的方法

本文实例讲述了Python使用minidom读写xml的方法。分享给大家供大家参考。具体分析如下: 一 python提供的xml支持 2种工业标准的xml解析方法-SAX和DOM。SAX...

利用anaconda作为python的依赖库管理方法

利用anaconda作为python的依赖库管理方法

python自带的pip管理依赖库太麻烦,pip很多库不存在,或者一些库并不支持window系统。而且每次用pip下载库经常不成功,结果还是要手动下载跟自己python对应的whl包安装...

Python实现简单层次聚类算法以及可视化

本文实例为大家分享了Python实现简单层次聚类算法,以及可视化,供大家参考,具体内容如下 基本的算法思路就是:把当前组间距离最小的两组合并成一组。 算法的差异在算法如何确定组件的距离,...

Python语言描述机器学习之Logistic回归算法

Python语言描述机器学习之Logistic回归算法

本文介绍机器学习中的Logistic回归算法,我们使用这个算法来给数据进行分类。Logistic回归算法同样是需要通过样本空间学习的监督学习算法,并且适用于数值型和标称型数据,例如,我们...