最近在开发一个小程序,遇到读取中文乱码问题,网上查了资料发现越基础的东西越容易忽略,解决方式分享给大家,希望能帮助大家不要再次踩坑。
报错信息
如图,我读取的是cs文件,cs文件中的中文标题被解读成乱码:
解决方式
本以为是很简单的小问题,添加上 Encoding.UTF8就可以解决了,但事实不然,UTF-8并不能解决一切中文乱码。
1. 确认文件的编码方式
将文件以文本文档形式打开,点击另存为,可查看编码方式。

当前文件的编码方式是ANSI,也就是GB2312。
2.添加解码方式(需要注册)
File.ReadAllText(files[i], Encoding.GetEncoding("GB2312"))
即可解决了。

注意
1. GB2312需要注册,代码如下:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
2. 添加try catch捕捉异常,如果不支持"GB2312",需要先下载nuget包,搜索System.Text.Encoding.CodePages安装。


5748

被折叠的 条评论
为什么被折叠?



