html文件中引入js文件,显示乱码!
js文件为utf-8 编码(无bom) ,此时只要将js文件转成utf-8 BOM编码就可以解决了
可以使用notepad++转码
也可以使用下面的python代码批量转码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# -*- 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