2012-06-18 30 views
1

好傢伙例如,當我用記事本打開一個文本文件,它的顯示,例如這個字符(對我來說是確定這個輸出)C#閱讀西里爾

"ÍÜÞ ËÀÉÍ ÑÈÍÅÌÀ" 
"ÕÅÐÎÍ ÊÎÌÌÜÞÍÈÊÅÉØÍÇ" 

但是,當我試圖用C#

讀它
OpenFileDialog ofd = new OpenFileDialog(); 
if (ofd.ShowDialog() == DialogResult.OK) 
{ 
    text = File.ReadAllText(ofd.FileName); 
    textBox1.Text = text; 
} 

它顯示

"��� ���� ������" 
"����� ��������������" 

回答

4

您需要正確的編碼傳遞給File.ReadAllText

textBox1.Text = File.ReadAllText(ofd.FileName, encoding); 

但是,你需要或者知道編碼事前,或用啓發式解決它(總會有一個機會,你會得到錯誤的一個)。

對於你真實的用例,你知道編碼是什麼嗎?

+0

我需要閱讀西里爾文,然後將其手動轉換爲正確的形式(俄語),然後將其另存爲utf-8 – a1204773

+0

非常感謝你的工作......我把textBox1.Text = File.ReadAllText(ofd。 FileName,Encoding.Default)並知道是否可以 – a1204773