2013-06-11 34 views
5

Tôi đang tạo một công cụ thay thế một số văn bản trong một tệp văn bản. Vấn đề của tôi là File ReadAllLines biến các ký tự Hebrew thành Gibberish (các dấu hỏi lạ) 2)File ReadAllLines biến ngôn ngữ nước ngoài thành ngữ pháp ()

Có ai biết tại sao điều này xảy ra không? Lưu ý rằng tôi có vấn đề với tiếng Do Thái trong trò chơi và như vậy .. Và trong Notepad, tôi không thể lưu tài liệu tiếng Do Thái. Tôi có thể viết các chữ cái Hebrew nhưng khi tôi lưu nó cho tôi biết có vấn đề với điều đó.

EDIT - Cố gắng này, nhưng nó chỉ xoay Hebrew vào dấu hỏi thường xuyên và không phải là "đặc biệt" 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

Bạn đang sử dụng mã nào? – Sam

+3

Bạn có cung cấp mã hóa khi mở tệp của mình không? – GSerg

+0

@GSerg Có. "Encoding.Unicode" – Kfirprods

Trả lời

11

Hãy thử sử dụng các trang Windows-1255 mã để có được mã hóa.

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

Tôi nghĩ rằng nó đã sửa nó! Hãy để tôi chắc chắn và cập nhật ở đây :) – Kfirprods

Các vấn đề liên quan