2017-08-06 85 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

尽管代码只回答可能会解决原始问题,但一些解释将有助于理解您使用的方法以及它的工作原理。 –