使用Python解决JS文件UTF-8编码乱码问题的详细教程
python解决js文件utf-8编码乱码问题(推荐)

2018 年 05 月 02 日 11 时 28 分 18 秒进行了更新,作者是雨夜星辰 03
这篇文章主要介绍了关于用 python 来解决 js 文件 utf - 8 编码乱码的问题。这个介绍很不错,具有参考借鉴的价值。有需要的朋友可以参考一下。
html文件中引入js文件,显示乱码!
js 文件的编码为 utf-8 且无 bom 。在这种情况下,只需将 js 文件转换为 utf-8 BOM 编码,问题即可得到解决。
可以使用notepad++转码
也可以使用下面的python代码批量转码
# -*- coding:utf-8 -*-
import os,sys
import chardet
定义一个函数 convert,它接受两个参数 filename、in_enc 和 out_enc,in_enc 的默认值为"GBK",out_enc 的默认值为"UTF-8"
try:
print("convert " + filename)
f = open(filename,'rb')
content = f.read()
通过 chardet.detect 可以获取当前文件的编码格式串,该函数返回的类型为字典类型。
print(result)
f.close()
获取 encoding 的值[编码格式],通过 result.get('encoding') 来实现。
如果编码不是“UTF-8-SIG”且编码是“utf-8”:#文件格式为 utf-8 时,才进行转码
打印编码与输出编码的拼接结果!
首先对 content 进行解码操作,使用 in_enc 编码方式进行解码;然后将解码后的内容使用 out_enc 编码方式进行编码操作,最终得到 new_content 。
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):
使用 os.walk(dir) 进行遍历,获取到根目录 root、子目录 dirs 和文件 files 。
for file in files:
路径等于将根目录与文件进行拼接,即 os.path.join(root, file) 所得到的结果。
convert(path)
def main(dir):
if(os.path.isdir(dir)):
dpaths 是一个列表,其中的元素是通过遍历 os.listdir(dir) 得到的。对于每个 dpath,如果 os.path.isdir(dir+"\\"+dpath) 为 True,那么这个 dpath 就会被添加到 dpaths 列表中。
for f in fpaths:
将 dir 与"\\"以及 f 进行拼接,得到一个路径,然后将该路径所指向的文件从'utf-8'编码转换为'UTF-8-SIG'编码。
for d in dpaths:
print(d)
main(dir+"\\"+d)
if __name__ == "__main__":
main('目录')
总结
小编给大家介绍了用 python 解决 js 文件 utf-8 编码乱码的问题,希望能对大家有所帮助。若大家有疑问,可给我留言,我会及时回复。同时,非常感谢大家对脚本之家网站的支持。