2010-11-22 89 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"));來試一下,如果這樣做不行,那麼我會追隨創建文件的人和他們的指甲下的東西針,直到他們承認他們用來創建它的編碼。