.Net WebApi项目中,读取上传文件的文本时,出现中文乱码。
问题:
.Net WebApi项目中,我想要用户上传字幕文件,但是发现在读取字符时,出现中文乱码。

一个是正常的,一个是乱码
解决:
So,.NET Framework 中默认编码是GB2312,而在 .NET Core 中不支持,若想使用必须得先注册编码
public static async Task<string> GetTextAsync(IFormFile file)
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Encoding encoding = Encoding.GetEncoding("gb2312");
using var reader = new StreamReader(file.OpenReadStream(), encoding);
var input = await reader.ReadToEndAsync();
return input;
}

浙公网安备 33010602011771号