2010-11-22 93 views
1

我正在使用StreamReader(在C#中)将HTML文件的内容读入文本框。无论使用哪种编码作为uption,所有的撇号和子弹都会变成问号。将HTML文件读入文本框会将撇号和项目符号转换为?

是否有另一种方法来读取将保留这些字符的HTML文件?

谢谢! 杰里

下面是代码:

private void button1_Click(object sender, EventArgs e) 
{ 
    DialogResult result = openFileDialog1.ShowDialog(); 
    if (result == DialogResult.Cancel) 
     return; 

    StreamReader sr = new StreamReader(openFileDialog1.FileName); 

    txtMessage.Text = sr.ReadToEnd(); 
    sr.Close(); 
} 

我也有使用的StreamReader与编码参数(想尽一个)。它似乎做的唯一的事情是解释问号是规则的还是颠倒的(带白色问号的黑色钻石)。

如果它有什么不同,这些文件是由另一个部门在Word中创建的,然后导出到过滤的HTML。最后一件事情是:如果我在记事本中打开HTML文件并将文本复制/粘贴到文本框中,那么所有内容都看起来应该如实。

只有当我尝试通过阅读器提取文件时才会发生更改。

+3

这是因为第31行上的错字。不,真的...粘贴代码或我们无法帮助您调试。 – cdhowie 2010-11-22 20:56:52

+0

private void button1_Click(object sender,EventArgs e) DialogResult result = openFileDialog1.ShowDialog(); if(result == DialogResult.Cancel)return; StreamReader sr = new StreamReader(openFileDialog1.FileName); txtMessage.Text = sr.ReadToEnd(); sr.Close(); } – JerryK 2010-11-22 21:13:44

回答

0

我会用new StreamReader(..., Encoding.UTF8);new StreamReader(..., Encoding.GetEncoding("iso-8859-1"));来试一下,如果这样做不行,那么我会追随创建文件的人和他们的指甲下的东西针,直到他们承认他们用来创建它的编码。