Необходимо считать строки из файла и записать их в массив, а потом отобразить на лейбле. Но почему-то русскую кодировку не распознает. Пробовал и так
using (StreamReader read = File.OpenText("E:\\category.txt"))
{
for (int i = 0; i < 5; i++)
{
category[i] = read.ReadLine();
}
}
label1.Text = category[0].ToUpper();
label2.Text = category[1].ToUpper();
label3.Text = category[2].ToUpper();
label4.Text = category[3].ToUpper();
label5.Text = category[4].ToUpper();
И так
category = File.ReadAllLines("E:\\category.txt", Encoding.UTF8);
label1.Text = category[0].ToUpper();
label2.Text = category[1].ToUpper();
label3.Text = category[2].ToUpper();
label4.Text = category[3].ToUpper();
label5.Text = category[4].ToUpper();
Но получается все равно вот так.
Как правильно считать, чтобы получились русские буквы?
Мне кажется у вас там не UTF-8, а виндовая 1251.
Encoding win1251= Encoding.GetEncoding( "windows-1251" );
category = File.ReadAllLines("E:\\category.txt", win1251);
Еще возможно - шрифт у вас не стандартный - и не поддерживает кириллицу.
D:\zzz\a.txt
Hello World! Привет Мир!
Hello World! Привет Мир!
Main.cs
using System;
//подключить пространство имен
using System.IO;
//подключить пространство имен для кодировки
using System.Text;
class Program {
public static int Main() {
//путь
string path = @"D:\zzz\a.txt";
//если файл существует
if(File.Exists(path)) {
/*---считывание из файла, 1 вариант---*/
//создаем байтовый поток и привязываем его к файлу
//в конструкторе указываем:
//путь
//кодировка
using(StreamReader sr = new StreamReader(path, Encoding.UTF8)) {
string str = null;
while(!sr.EndOfStream) {
Console.WriteLine(str = sr.ReadLine());
}
}
Console.WriteLine("\n");
/*---считывание из файла, 2 вариант---*/
//создаем байтовый поток и привязываем его к файлу
//в конструкторе указываем:
//путь
//кодировка
using(StreamReader sr = new StreamReader(path, Encoding.UTF8)) {
string str = null;
while((str=sr.ReadLine()) != null) {
Console.WriteLine(str);
}
}
}
//если файл не существует
else {
Console.WriteLine("такой файл не существует");
}
Console.ReadKey();
return 0;
}
}
На экране
Hello World! Привет Мир!
Hello World! Привет Мир!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте господа форумчане!
С# как преобразовывать подобные строковые значения string time1 = "2 ч 46 мин" и string time2 = "54 мин" в TimeSpan ?