2017-08-06 104 views
-1

所以我有外語(希伯來文)簡單Text file,我正在閱讀:C#閱讀非英文文本文件,並寫入ListView控件

StreamReader file = new StreamReader(txtFile, Encoding.ASCII); 
while ((line = file.ReadLine()) != null) 
{ 
    try 
    { 
     string[] str = line.Split(new char[0]); 
     string word = str[0]; 
    } 
    catch (ArgumentException) 
    { } 
} 

file.Close(); 

,我想這個單詞添加到我的ListView。 問題是,我只see ??????

我試圖改變成UnicodeUTF8這但我只能看到不同的符號,但不是我的語言。

+0

可能的重複:https://stackoverflow.com/questions/32724294/c-sharp-read-hebrew-from-text-file –

+1

Encoding.ASCII顯然是不正確的,因爲希伯來語不是ASCII。文本文件來自哪裏?你可以與我們分享嗎? – mjwills

+0

你的ListView使用什麼字體? (順便說一下,將這個單詞添加到ListView的代碼在哪裏?) – Steve

回答

1

你可能想嘗試,並與特定的希伯來編碼去:

StreamReader file = new StreamReader(txtFile, Encoding.GetEncoding("windows-1255")); 

此外,嘗試關閉並重新打開該文件(這裏提到:c# read hebrew from text file

0

試試這個:

byte[] bytes = Encoding.Default.GetBytes(word); 
word= Encoding.UTF8.GetString(bytes); 

我基本上做了什麼,是將字符串的編碼更改爲UTF8。

+1

儘管代碼只回答可能會解決原始問題,但一些解釋將有助於理解您使用的方法以及它的工作原理。 –