乱码的缘由:bom和字符编码
不一样excel版本要求的字符编码不一样,2010以上utf8,2007ansi(可能有错误)
除了字符编码还有文件头bom的影响编码
解决方案:
1,用txt打开导出的文件,另存为时选择utf8(若是utf8乱码就选择ansi),在用excel打开另存为的文档;
2,在导出的文件的开始地方,如表头处加上bom,如:"xEFxBBxBF".'序号';bom有如下几种;excel
/** * UTF-8 BOM sequence. */ const BOM_UTF8 = "\xEF\xBB\xBF"; /** * UTF-16 BE BOM sequence. */ const BOM_UTF16_BE = "\xFE\xFF"; /** * UTF-16 LE BOM sequence. */ const BOM_UTF16_LE = "\xFF\xFE"; /** * UTF-32 BE BOM sequence. */ const BOM_UTF32_BE = "\x00\x00\xFE\xFF"; /** * UTF-32 LE BOM sequence. */ const BOM_UTF32_LE = "\xFF\xFE\x00\x00";