Excel导出csv文件时的utf编码问题

Excel的工作表文件另存为csv文件时,似乎只能保存为ANSI编码的文件。遇到例如中文这样的字符时,会根据Windows系统的区域设置进行转换。但如果同时有两种区域语言的字符,比如再加上日语或者韩语,就会出现问题,有一种语言将无法正常显示。

按照StackOverflow上的说法,其实利用Google Docs可以解决这个问题。先将工作表导入到Google Docs中,再导出时就是UTF-8编码的了。

在Google Docs不方便访问的情况下,其实还有一个解决办法。那就是在从Excel另存时,选择保存为unicode文本文件(.txt)。这个文本文件中数据之间的分隔使用的是TAB字符,可以再将其替换为半角逗号方便给如PHP之类的使用。当然这样的话,如果文本中本身包含有换行或者半角逗号之类冲突的字符,就需要额外手工处理下了。