我的HTML
文件下面包含以下内容:
<HTML>
<BODY>
...
........ company's Chief Financial Officer. Now the.......
...
</BODY>
</HTML>
我正在使用以下方式阅读此文件的内容:
StringBuilder stringBuilder = new StringBuilder();
using (StreamReader sr = new StreamReader(filePath))
{
String line = sr.ReadToEnd();
stringBuilder.Append(line);
}
strFileContent = stringBuilder.ToString();
然而它返回字符串为:
........company s首席财务官。现在...... ..
HTML
个文件在我的本地系统中。
答案 0 :(得分:2)
您需要使用与创建文件相同的编码。 StreamReader
默认情况下假设您的编码为UTF8
,并尝试使用该编码解码文件,但您的原始编码为windows-1252
(正如您在评论中所述)。由于显而易见的原因,尝试使用错误的编码进行读取会产生垃圾数据。
你应该明确说明文件的编码方式。这里是你如何做的。
var encoding = Encoding.GetEncoding(1252);//windows-1252
using (StreamReader sr = new StreamReader(filePath, encoding))
...
答案 1 :(得分:0)
你必须在StreamReader中设置Encoding,如下所示:
using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8))