首页 > 解决方案 > 西里尔符号显示为问号。内容类型:文本/xml;字符集=windows-1251;

问题描述

我知道这是一个很受欢迎的问题,但我仍然没有找到任何解决方案。

因此,我将 xml 文件作为来自 api 的响应,但西里尔符号表示为问号。

在此处输入图像描述

我试图使用Encoding类转换源字节数组。

using (var httpClient = new HttpClient())
{
   var response = await httpClient.GetAsync(uriBuilder.Uri);
   var responseBytes = await response.Content.ReadAsByteArrayAsync();
   var responseText = Encoding.UTF7.GetString(responseBytes);
   var utf8 = Encoding.UTF8.GetString(responseBytes);
   var unicode = Encoding.Unicode.GetString(responseBytes);
   var ascii = Encoding.ASCII.GetString(responseBytes);
   var defaultt = Encoding.Default.GetString(responseBytes);
}

但仍然没有运气。

字符集响应:

Content-Type: text/xml;charset=windows-1251;

有人可以提出任何解决方案吗?

更新:答案是我在下面的评论

标签: c#xmlencoding

解决方案


如此处所述您可以使用它Encoding.GetEncoding(1251).GetString(responseBytes);来获得所需的编码。

请记住,操作系统需要支持代码页。


推荐阅读