2013-06-11 9 views
5

Tworzę narzędzie, które zastępuje tekst w pliku tekstowym. Mój problem polega na tym, że plik ReadAllLines zamienia znaki hebrajskie w Gibberish (dziwne znaki zapytania 01)Plik ReadAllLines zamienia obcy w bełkot ()

Czy ktoś wie, dlaczego tak się dzieje? Zauważ, że mam problem z hebrajskim w grach i takie .. I w Notatniku, nie mogę zapisać hebrajskich dokumentów. Potrafię pisać hebrajskie litery, ale kiedy je zapisuję, oznacza to, że jest z tym jakiś problem.

EDIT - próbowałem, ale to tylko obrócił się hebrajskiego w regularnych znaków zapytania, a nie „specjalne” Dodatki-

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

Jakiego kodu używasz? – Sam

+3

Czy podajesz kodowanie podczas otwierania plików? – GSerg

+0

@GSerg Tak. "Kodowanie Unikod" – Kfirprods

Odpowiedz

11

Spróbuj użyć stronę kodową Windows-1255 dostać enkoder.

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

Myślę, że to naprawiło! Pozwól mi się upewnić i zaktualizuj tutaj :) – Kfirprods