2013-06-11 3 views
5

Я создаю инструмент, который заменяет некоторый текст в текстовом файле. Моя проблема в том, что File ReadAllLines превращает символы иврита в Gibberish (странные вопросительные знаки )Файл ReadAllLines превращает иностранный язык в тарабарщину ()

Кто-нибудь знает, почему это происходит? Обратите внимание, что у меня есть проблема с ивритом в играх и т. Д. И в «Блокноте» я не могу сохранить документы на иврите. Я могу писать ивритские буквы, но когда я его сохраняю, он говорит мне, что есть проблема с этим.

EDIT - Пробовал, но это только превратили иврит в регулярные вопросительных знаков, а не «специальный» ones-

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

Какой код вы используете? – Sam

+3

Предоставляете ли вы кодировку при открытии файлов? – GSerg

+0

@GSerg Да. «Encoding.Unicode» – Kfirprods

ответ

11

Попробуйте использовать страницу Windows-1255 код, чтобы получить кодер.

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

Я думаю, это исправлено! Позвольте мне убедиться и обновить здесь :) – Kfirprods

Смежные вопросы