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()
时间: 2024-11-10 01:21:45

Excel打开无BOM-UTF8文件中文乱码的相关文章

解決BufferedReader BufferedWrite 读写UTF-8文件中文乱码

解決BufferedReader读取UTF-8文件中文乱码         File rst01 = new File(context.getRealPath("/")+"zljb0.html");         File rst02 = new File(context.getRealPath("/")+"zljb.html"); InputStreamReader isr = new InputStreamReader(

解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题

最近遇到了一个小麻烦,就是在eclipse环境中读写UTF-8格式的txt文件时很正常,但是当导出成jar包后,通过点击来读写文件时出现了部分中文乱码问题. 解决办法: 开始时用的是FileReader和FileWriter来读写的,后来改成用InputStreamReader和OutputStreamWriter后问题解决 关键代码: BufferedReader reader; BufferedWriter writer; //reader = new BufferedReader(new 

解決BufferedReader读取UTF-8文件中文乱码(转)

读取txt文件乱码 Java代码 BufferedReader read = new BufferedReader(new FileReader(new File(filename))); 解决办法: Java代码 InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8"); BufferedReader read = new BufferedReader(isr); 因为Input

Xshell下VI打开文件中文乱码解决

修改 /etc/sysconfig/i18n 成如下值:LANG="zh_CN.utf8"LANGUAGE="zh_CN.utf8"SUPPORTED="zh_CN.utf8:zh_CN.GB18030:zh_CN:zh:en_US.UTF8:en_US:en"SYSFONT="lat0-sun16" 保存退出后,重新连接,连接编码也选utf-8即可 Xshell下VI打开文件中文乱码解决,布布扣,bubuko.com

[转载] linux下打开windows txt文件中文乱码问题

原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在windows环境中中文压缩一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示 txt文件在linux环境下打开呈现了乱码状态. 解决方法:在linux用iconv命令,如乱码文件名为shujujiegou.txt,那么在终端输入如下命令: iconv -f gbk -t

Windows下Git Bash中VIM打开文件中文乱码

Windows下Git Bash中VIM打开文件中文乱码,解决方法是: 步骤一 [email protected] MINGW64 /d/项目GGE/Hard_for_GGE (master)$ cd /etc/ [email protected] MINGW64 /etc$ vi vimrc 步骤二 在打开的vimrc文件开头添加以下代码: set nu set fencs=utf-8,gbk,utf-16,utf-32,ucs-bom 保存并退出vimrc编辑文档. 步骤三 1.退出git

Eclipse的properties文件中文乱码解决方法

转自:http://jingyan.baidu.com/article/ed2a5d1f3381d709f6be17f8.html 打开Myeclipse,找到window这一栏,点击Preference 2 然后会弹出一个窗体,点击General展开选项,然后点击Content Types 3 在右边的窗口中点击Text展开,然后点击java Properties File 4 将下面的编码格式设置成UTF-8就能解决java Web项目文件中的config.properties文件中文乱码的

Zip文件中文乱码问题解决方法(MAC->Windows)

前言: 最近收到的ZIP交互原型,打开查看中文一堆乱码.主要是产品都是高大上啊,用的都是MAC,咱酷毙用的Windows,话说安卓APP,你用MAC搞啥啊.可恨的压缩用的是zip,不是rar之类的.为了咱用Windows开发及测试的屌丝,分享下解决方法.如你高在上,用的MAC,请跳过本文. 目录: 1.问题 2.解决方法 1.问题 现象: a.ZIP文件,360压缩3.1正式版查看.解压中文为乱码. b.ZIP文件,Winrar 3.7压缩查看.解压中文为乱码. 2.解决方法 方法一:安装新版本

JAVA 写中文字符串到指定文件 中文乱码 问题解决

之前试过下面代码里面的注释掉的 方法,都不行,后来想到了不如指定编码格式试试,果真可以了. String as= “中文字符”; //byte[] b = as.getBytes(); try{ File file=new File("F:test.txt"); if(!json.exists()){ file.createNewFile(); } Writer writer = new OutputStreamWriter(new FileOutputStream(file.getA

Ubuntu中解决解压zip文件中文乱码问题

1. 通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明. 2. 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936" ZIPINFO="-O CP936"Ubuntu中解决解压zip文件中文乱码问题