首页 > 代码库 > Excel打开无BOM-UTF8文件中文乱码
Excel打开无BOM-UTF8文件中文乱码
运营同学需求扫库统计全服大V玩家,在数据库上扫出结果发过去之后,反馈说使用Excel打开玩家姓名都是乱码。看了下发过去的文件,发现都是linux下不带BOM的UTF8编码文件,而Excel作为Windows下的软件,需要使用BOM头来确定文件为UTF8编码,所以需要给文件加上BOM头。
一般的需求都是去掉BOM头,这次需求居然是加上BOM头,比较奇怪,不过试了下,发现用Python完成转换还是非常方便的,读出来直接decode/encode即可,代码如下:
1 #coding=utf8 2 #将文件夹内的所有文件由utf8转换为utf8_With_Bom 3 4 import os 5 6 rootDir = ‘D:\\111\\‘ 7 8 def Trans(): 9 for lists in os.listdir(rootDir):10 path = os.path.join(rootDir, lists)11 if not os.path.isdir(path):12 f = open(path,‘rb‘)13 content = f.read()14 f.close()15 temp = content.decode(‘utf-8‘)16 result = temp.encode(‘utf-8-sig‘)17 f = open(path.replace(‘.txt‘, ‘.result.txt‘),‘wb‘)18 f.write(result)19 f.close()20 21 if __name__ == ‘__main__‘:22 Trans()
Excel打开无BOM-UTF8文件中文乱码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。