码迷,mamicode.com
首页 > 其他好文 > 详细

Excel打开无BOM-UTF8文件中文乱码

时间:2014-11-14 00:05:00      阅读:386      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   使用   sp   for   文件   数据   

  运营同学需求扫库统计全服大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文件中文乱码

标签:style   blog   color   os   使用   sp   for   文件   数据   

原文地址:http://www.cnblogs.com/gns3/p/4096132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!