文件ReadAllLines将外语变成乱码( )

时间:2013-06-11 10:56:59

标签: c# string hebrew

我正在创建一个替换文本文件中某些文本的工具。我的问题是File ReadAllLines将希伯来字符变成了Gibberish(奇怪的问号 )

有谁知道为什么会这样?请注意,我确实在游戏中有希伯来语等问题。而在记事本中,我无法保存希伯来语文档。我可以写希伯来字母但是当我保存时它会告诉我这有问题。

编辑 - 试过这个,但它只把希伯来语变成了常规问号,而不是“特殊”问号 -

string[] lines = File.ReadAllLines(fullFilenameDir);
byte[] htmlBytes = Encoding.Convert(Encoding.ASCII, Encoding.Unicode, Encoding.ASCII.GetBytes(String.Join("\r\n", lines)));
char[] htmlChars = new char[Encoding.Unicode.GetCharCount(htmlBytes)];
Encoding.Unicode.GetChars(htmlBytes, 0, htmlBytes.Length, htmlChars, 0);

1 个答案:

答案 0 :(得分:11)

尝试使用Windows-1255代码页来获取编码器。

var myLines = File.ReadAllLines(@"C:\MyFile.txt",  Encoding.GetEncoding("Windows-1255"));