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