Большой Воронежский Форум
» Программирование>Помогите разобраться с .net
Fenixator 02:04 16.02.2005
В программировании я полный профан, но кое что все-таки умею и поэтому программирование, можно сказать, моё хоби. Так вот, перейдя с VB 6.0 в VB.NET, я встретился с проблемой: Если внутри оболочки писать по-русски, то она это понимает, а вот если открыть файл с русскими символами, то она их не видит.
Например откравая файл TEMP.TXT cо следующим содержимым:
"Пример текста - Temp, 1, ф, 2, v."
То получаем строку: " - Temp, 1, , 2, v.".

Можно ли это как-нибудь починить?

ЗЫ Версия .NET у меня, понятное дело, пиратская. [Ответ]
vicmb 11:32 17.02.2005
А каким образом ты читаешь файл? Если каким-нибудь StreamReader'ом, то при его создании надо выбрать тот конструктор у которого в параметрах есть выбор кодировки. И там надо указать нужный язык. Вот. [Ответ]
Fenixator 00:14 18.02.2005
Я не пользуюсь StreamReader'ом.(точнее я не знаю что это такое).
Я открываю файл через его стандартные комманды - open, и беру строки коммандой input line.
Если есть албторнативный способ, через библиотеки, то, пожалуйста, скажите как им пользоваться.
ЗЫ Повторю: Программирование моё хобби. [Ответ]
vicmb 08:35 18.02.2005
[C#]
using System;
using System.IO;

class Test
{
public static void Main()
{
try
{
// Create an instance of StreamReader to read from a file.
// The using statement also closes the StreamReader.
using (StreamReader sr = new StreamReader("TestFile.txt", Encoding))
{
String line;
// Read and display lines from the file until the end of
// the file is reached.
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
catch (Exception e)
{
// Let the user know what went wrong.
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
}
}


А вместо Encoding вставляешь какой-нибудь юникод. Вот. А вообще в MSDN про это есть. [Ответ]
Fenixator 03:51 24.02.2005
vicmb спасибо конечно, но мне бы лучше на Basic.NET, а не на С++.
Но все равно еще раз спасибо! [Ответ]
Вверх