Winforms Can';无法获取使用重音字符正确渲染的信息

Winforms Can';无法获取使用重音字符正确渲染的信息,winforms,character-encoding,Winforms,Character Encoding,我有一个webcall,可以获取Ip信息: result = new WebClient().DownloadString("http://ip-api.com/csv/177.30.105.121?fields=status,countryCode,region,city,district,isp,proxy,query,message"); 在我的Winform应用程序中,它以西文字符集而不是拉丁文字符集显示。应该是戈尼亚 如何正确解码以使用ISO-8859-1字符集

我有一个webcall,可以获取Ip信息:

result = new WebClient().DownloadString("http://ip-api.com/csv/177.30.105.121?fields=status,countryCode,region,city,district,isp,proxy,query,message");
在我的Winform应用程序中,它以西文字符集而不是拉丁文字符集显示。应该是戈尼亚

如何正确解码以使用ISO-8859-1字符集

从评论上看,我觉得我越来越接近了,但仍然没有成功。

WebClient web=新的WebClient();web.Encoding=Encoding.GetEncoding(“ISO-8859-1”);下载字符串(…)?这不起作用,但似乎是逻辑性的。这是一个简单的例子
'Goi–nia'。encode('utf-8')。decode('cp1252')
返回
'GoiÃ、nia'
。同样适用于
…decode('iso-8859-1')
(Python中的示例)。您控制API吗?如果是这样,API响应头会声明内容是UTF-8编码的,因此只需设置WebClient的Encoding属性。假设API内容实际上是UTF-8编码的,因为在Web浏览器中,您引用的名称返回为
goiana
,而不是
goiana
这里的本地编码与此无关,字符串在.Net中是UTF-16LE编码的。如前所述,只需按照API编码的方式读取内容即可。如果直接读取,则结果相同,字符串包含这些字符。这就是为什么我会弄乱编码的原因。