.Net WebApi项目中,读取上传文件的文本时,出现中文乱码。

问题:

.Net WebApi项目中,我想要用户上传字幕文件,但是发现在读取字符时,出现中文乱码。
image
一个是正常的,一个是乱码

解决:

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;
}

来源:https://blog.csdn.net/sD7O95O/article/details/122934510

posted @ 2023-10-13 14:30    阅读(171)  评论(0)    收藏  举报