C#开发:读写文件时中文字符乱码问题
一、问题处理
1.引入依赖System.Text.Encoding.CodePages包:
在终端运行命令:
dotnet add package System.Text.Encoding.CodePages --version 4.4.0
dotnet restore
引入之后发现.csproj配置文件中出现该依赖:
2.在代码中使用该依赖:
using System; using System.Collections; using System.IO; using System.Text; namespace MainSpace{ class Program{ //主入口 static void Main(string[] args){ System.Text.Encoding.RegisterProvider (System.Text.CodePagesEncodingProvider.Instance); StreamReader streamReader = new StreamReader("sample.txt",Encoding.GetEncoding("utf-8")); string? rl = ""; while((rl = streamReader.ReadLine()) != null){ Console.WriteLine(rl); } } } }
使用System.Text命名空间
通过System.Text.Encoding.RegisterProvider (System.Text.CodePagesEncodingProvider.Instance);进行编码格式的注册(在使用相应编码前注册)
定义流阅读文件时,通过Encoding.GetEncoding("utf-8")设定编码为utf-8
然后在文件阅读后输出时则不会出现乱码问题。