2011-05-17 30 views
1

我正在使用来自互联网的文本阅读器来阅读中文文本,但收到了不正确的字母。收到中文字符串时,我只收到不可用的字符

例如,我找回您好 ï¼而不是轉注字。另外,如果我解析德语字符串,我会收到Sie können而不是Sie können

这是从网站的原始字符串:

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Sie können einige Blumen auswählen</string> 

这是UTF-8编码。我该如何解决这个编码问题?

问候

+2

这看起来有些UTF-8编码的字节流是使用8位编码(可能是ISO-的一个解码8859- *家族或其Windows * *对应)。但是,我不太了解.NET,所以要告诉你正确的方法。 – 2011-05-17 07:47:49

+0

该死的stackoverflow限制,我不能完全评论回答! – goldengel 2011-05-17 08:24:35

+0

感谢您的想法。问题在于Webbrowser使用 > iso-8859-1 作为标准解码东西。我需要使用UTF-8,但不完全知道。我认为这是颠倒过来的。解决方法是,在下载字符串之前设置浏览器编码(不需要二进制下载)。 – goldengel 2011-05-17 08:25:06

回答

2

尝试初始化你TextReader与适当的编码:

using(var reader = new StreamReader(stream, Encoding.UTF8) 
{ 
    // read the text 
} 
相关问题