C#数据日志中文乱码

背景是客户是台企,他们电脑默认编码格式是big5,繁体中文,不支持简体。写入的文件是CSV文件没有相应的编码格式,如果是xlsx的话是能正常显示的,

//以前写入log日志的方式
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
//default会根据当前系统的编码格式来决定编码,用记事本打开会显示asni(ANSI编码是一种基于不同国家和地区标准的字符编码方式,主要用于支持多语言环境

//固定使用utf8进行编码,这样可以让excel识别为utf8而不是其他格式(保存为“UTF-8 BOM”格式
StreamWriter sw = new StreamWriter(fs, new UTF8Encoding(true));

“BOM”是一个放在文件开头的特殊标记,它能明确告诉软件“这个文件是UTF-8编码的”。
最好还是​保存为 .xlsx(Excel Workbook) 格式​:这个格式本身就会将编码信息嵌入文件,通常不会出现乱码问题。

posted @ 2025-08-26 18:18  悲伤的攻城狮  阅读(25)  评论(0)    收藏  举报