Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 21:49   #1
Andreyka
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 18
Стрелка Как в C# читать кириллицу?

Подскажите пожалуйста, как сделать чтобы в C# когда считываеш русский текст из txt-файла отображались не кроказябры, а нормальный текст.
Andreyka вне форума Ответить с цитированием
Старый 04.06.2010, 21:50   #2
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

У меня вроде все нормально отображается
Vikenty вне форума Ответить с цитированием
Старый 04.06.2010, 22:10   #3
Andreyka
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 18
По умолчанию

А когда загружаю из внешнего файла:

Код:
 string text = System.IO.File.ReadAllText("c:\1.txt");
 System.Console.WriteLine("1.txt = {0}", text);
то одни знаки вопроса, а как сделать чтобы текст был нормальный?
Andreyka вне форума Ответить с цитированием
Старый 04.06.2010, 22:21   #4
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

считываете в байтовый массив Работает:
byte txt() = IO.File.ReadAllBytes("C:\привет.txt ");
и преобразуйте в строку

Последний раз редактировалось Vikenty; 04.06.2010 в 22:30.
Vikenty вне форума Ответить с цитированием
Старый 04.06.2010, 22:30   #5
Link12
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 12
По умолчанию

Я лично создал функцию russia к которой обращаюсь, когда нужно вывести русский текст.
Код:
#include <iostream>
#include "windows.h"
using namespace std;

void rus(char *str)
{
   char message[100];
   CharToOem(str,message);
   cout<<message; 
}
для простоты использования можно создать файл russia.h в (C:\Program Files\Borland\CBuilder6\Include)и вызывать её #include "russia".
PS: Спасибо этому форуму, решение нашёл тут.
Link12 вне форума Ответить с цитированием
Старый 04.06.2010, 22:31   #6
Andreyka
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 18
По умолчанию

А можно в C#?
Andreyka вне форума Ответить с цитированием
Старый 05.06.2010, 00:59   #7
Link12
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 12
По умолчанию

не знаю, не пробовал.
Link12 вне форума Ответить с цитированием
Старый 05.06.2010, 06:28   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

C# (точнее Framework) читает файл как Unicode.
Если у Вас формат файла другой (например, это обычный текстовый файл в кодировке Ansi (Windows-1251)), тогда попробуйте указать кодировку.
Примерно так:
Код:
            string text = System.IO.File.ReadAllText("c:\\1.txt", System.Text.Encoding.GetEncoding(1251));
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.08.2012, 14:04   #9
benykrik
Новичок
Джуниор
 
Регистрация: 31.08.2012
Сообщений: 1
По умолчанию

Чтобы при считывание из текстовика русских букв они отображались нормально, нужно ВСЕГО НАВСЕГО изменить кодировку сохраняемого .txt. По умолчанию стоит ANSI, нужно поменять ее на Юникод или UTF-8. И тогда все считается нормально, как построчно, так и весь текст.

Последний раз редактировалось benykrik; 31.08.2012 в 18:05.
benykrik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IdHTTP не правильно выводит кириллицу Shouldercannon Общие вопросы Delphi 17 03.03.2015 08:03
Функция не распознаёт кириллицу Кипящий чайник Общие вопросы C/C++ 2 23.12.2009 16:55
перевести символ из латиницы в кириллицу StartMis Общие вопросы Delphi 2 30.11.2009 10:07
Как читать Cookies erick_ Общие вопросы Delphi 1 23.02.2009 07:35
Как читать удалённые файлы? Никки Работа с сетью в Delphi 3 16.01.2008 22:38