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

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设置默认编码为utf8的方法
  • Python3读取UTF-8文件及统计文件行数的方法
  • Python实现把utf-8格式的文件转换成gbk格式的文件
(0)

相关推荐

  • Python设置默认编码为utf8的方法

    本文实例讲述了Python设置默认编码为utf8的方法.分享给大家供大家参考,具体如下: 这是Python的编码问题,设置python的默认编码为utf8 python安装目录:/etc/python2.x/sitecustomize.py import sys reload(sys) sys.setdefaultencoding('utf-8') try: import apport_python_hook except ImportError: pass else: apport_pytho

  • Python实现把utf-8格式的文件转换成gbk格式的文件

    需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: 复制代码 代码如下: def ReadFile(filePath,encoding="utf-8"):     with codecs.open(filePath,"r",encoding) as f:         return f.read()   def WriteFile(filePath,u,encoding="gbk"):     with codecs.open(

  • Python3读取UTF-8文件及统计文件行数的方法

    本文实例讲述了Python3读取UTF-8文件及统计文件行数的方法.分享给大家供大家参考.具体实现方法如下: ''''' Created on Dec 21, 2012 Python 读取UTF-8文件 统计文件的行数目 @author: liury_lab ''' # -*- coding: utf-8 -*- import codecs # 对较小的文件,最简单的方法是将文件读入一个行列表中, # 然后计算列表的长度即可 count = len(codecs.open('d:/FreakOu

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

    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("

  • 完美解决JS文件页面加载时的阻塞问题

    关于页面加载时的时间消费,许多书中都做出了介绍,也提出了很多种方法.本文章就详细介绍XHR注入. 概述:JS分拆的方法 1.XHR注入:就是用ajax异步请求同域包含脚本的文件,然后将返回的字符串转化为脚本使用,该方法不会造成页面渲染和onload事件的阻塞,因为是异步处理,推荐使用. 2.iframe注入:加载一个iframe框架,通过使用iframe框架中的脚本来避免src方式加载脚本的阻塞,但是iframe元素开销较大,不推荐. 3.DOM注入:就是创建script元素,通过制定该元素的s

  • 前端js文件合并的三种方式推荐

    最近在思考前端js文件该如何合并,当然不包括不能合并文件,而是我们能合并的文件,想了想应该也只有三种方式. 三个方式如下: 1. 一个大文件,所有js合并成一个大文件,所有页面都引用它. 2. 各个页面大文件,各自页面合并生成自己所需js的大文件. 3. 合并多个共用大文件,根据实践情况合并出多个共用js文件,每个页面引用多个共用大文件. 另外在我看来,合并有两个目的: 1. 为了减少请求数. 2. 代码安全考虑(文件分得越多,越容易被人看清). PS:注意我说的不是压缩混淆,只是合并 1. 一

  • 动态创建script在IE中缓存js文件时导致编码的解决方法

    先看下重现代码 1, gb2312.html 该文件编码为gb2312 复制代码 代码如下: <!DOCTYPE html> <html> <head> <title></title> <meta charset="gb2312"/> <style> p { color: red; } </style> </head> <body> <button onclic

  • JS 文件本身编码转换 图文教程

    在百度.谷歌上一搜,大家都是说通过JAVA后台处理来解决编码问题,试问,这样能解决JS文件本身的编码问题吗? 之所以提出JS文件本身编码问题,是因为JS文件的编码不同,造成了中文显示为乱码. 通常,在Eclipse中建立一个JS文件(含有中文),在Eclipse的编辑器中看到的中文都很正常,但是显示在网页上就是乱码,而我的页面全部都是采用UTF-8编码进行编码的,为此,我想到了,这可能是JS文件本身编码问题造成的. 在Eclipse中,JS文件中的中文显示正常 在网页中,中文却显示为乱码 我想到

  • Python如何调用JS文件中的函数

    Python 调用JS文件中的函数方法如下 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r"web.js").read().decode("utf-8")).call('loginHandle','steam') 语句解析,open后跟所执行的js文件位置,call后第一个单引号引起来的为所执行的js文件的某个function, 第二个单引号是前面函数的

  • 解决JS外部文件中文注释出现乱码问题

    问题描述 中文乱码在Java Web开发中经常出现,这是由于不同的部分编码不一样造成的,一般在开发中,我们把所有能设编码的地方,全部设置成UTF-8,但是有时候还是会出现乱码的情况.在开发中,一般把js代码从html中抽出来,放到一个js文件中,js文件中包含中文,在浏览器中页面没有出现乱码,一切正常,当我们打开源码点进js文件,我们发现js文件中的中文注释和js代码中的中文全是乱码. 问题原因  我们没有告诉浏览器,当前的文件使用何种编码,浏览器默认使用的的GBK编码,但是我们js文件使用的U

  • Python遍历zip文件输出名称时出现乱码问题的解决方法

    本文实例讲述了Python遍历zip文件输出名称时出现乱码问题的解决方法.分享给大家供大家参考.具体如下: windows中使用python2.7遍历zip文件之后输出文件名等信息,console打印的中文及一些标点出现乱码.查了一下网上说的windows的编码为cp936,print()函数交给系统处理打印,所以要提前编码成windows能够识别的编码. 这种print的乱码也会出现在形如print(mylist)中(mylist是python的list类型变量,print(mylist[2]

  • 解决JS请求服务器gbk文件乱码的问题

    JS获取服务器编码格式为gb2312的文件时内容为乱码,ajax网络请求内部使用的是XMLHttpRequest,所以在请求之前需要设置一下编码格式,但是设置xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");没有效果,只有设置xhr.overrideMimeType("text/csv;charset=gb2312");才正确,代码如下: <span style=&q

  • js文件中直接alert()中文出来的是乱码的解决方法

    解决方法如下: 在这句语句上面加上echo "<meta http-equiv='Content-Type'' content='text/html; charset=utf-8'>"; 以上就是小编为大家带来的js文件中直接alert()中文出来的是乱码的解决方法全部内容了,希望大家多多支持我们~

随机推荐