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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2010, 16:54   #1
xil
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 98
По умолчанию Проблема с отображение русский символов

Написал программу для управления текстовыми документами (много накопилось, решил в кучу собрать). Если добавить новый файл то русские символы отображаются нормально, а если добавить уже существующий файл то получаем ахинею =(

содержимое файла выводиться в textBox
Как вы сформулируете вопрос так вам и ответят
xil вне форума Ответить с цитированием
Старый 09.11.2010, 17:03   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Проблема с чтением, точнее с кодировкой при чтении. попробуй поиграть с:
Код:
StreamReader strReader = new StreamReader(binReader.BaseStream,System.Text.Encoding.Unicode)
Hollander вне форума Ответить с цитированием
Старый 09.11.2010, 17:10   #3
xil
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 98
По умолчанию

Encoding.Default поменяла все наоборот (старые отображаются а те что созданы в программе нет)
Encoding.ASCII, Encoding.Unicode, Encoding.UTF7,8,32 не помогли =(
Как вы сформулируете вопрос так вам и ответят
xil вне форума Ответить с цитированием
Старый 09.11.2010, 17:26   #4
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Покажи код, которым открываешь файл текстовый
Casper-SC вне форума Ответить с цитированием
Старый 09.11.2010, 17:42   #5
xil
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 98
По умолчанию

все проста
Код:
if (File.Exists(SelectedFile))
{
   using (Stream st = File.Open(SelectedFile, FileMode.Open, FileAccess.Read))
   {
       StreamReader sr = new StreamReader(st);
       textBox1.Text = sr.ReadToEnd();
   }
}
Как вы сформулируете вопрос так вам и ответят
xil вне форума Ответить с цитированием
Старый 10.11.2010, 19:51   #6
xil
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 98
Печаль

хелп люди
Как вы сформулируете вопрос так вам и ответят
xil вне форума Ответить с цитированием
Старый 10.11.2010, 19:53   #7
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

1. Смените шрифт на какой нибудь уникод (маловероятно)
2. Откройте в hex-редакторе ваш текстовый файл, посмотрите первое слово (2 байта), обычно там хранится заголовок, описывающий какой именно формат/кодировка используется.
3. А еще посмотрите сюда
4. Как дополнение, лучше это
Код:
if (File.Exists(SelectedFile))
оберните в
Код:
try {...} catch {...}

Последний раз редактировалось BOBAH13; 10.11.2010 в 19:56.
BOBAH13 вне форума Ответить с цитированием
Старый 10.11.2010, 20:24   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Похоже на UTF-8
Alter вне форума Ответить с цитированием
Старый 10.11.2010, 21:05   #9
xil
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 98
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
1. Смените шрифт на какой нибудь уникод (маловероятно)
2. Откройте в hex-редакторе ваш текстовый файл, посмотрите первое слово (2 байта), обычно там хранится заголовок, описывающий какой именно формат/кодировка используется.
3. А еще посмотрите сюда
4. Как дополнение, лучше это
Код:
if (File.Exists(SelectedFile))
оберните в
Код:
try {...} catch {...}
1. Пробовал, не помогло.
2. Смотрел через Hex Editor Neo там сразу начинается текст и файлы созданные в программе отображаются крякозябрами.
3. MSDN проштудировал но также безрезультатно =(
4. Пока не суть важно
Как вы сформулируете вопрос так вам и ответят
xil вне форума Ответить с цитированием
Старый 14.11.2010, 00:17   #10
AD286
Пользователь
 
Аватар для AD286
 
Регистрация: 24.05.2008
Сообщений: 15
По умолчанию

замени TextBox на RichTextBox
заведи char переменную, куда считывай содержимое файла сразу использую кодировку по дефолту
потом проходи по переменной и выводи строки
AD286 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение в гриде одновременно на нескольких языках (например русский и польский) supalk Общие вопросы Delphi 5 24.10.2011 09:32
Delphi коды символов HTML в русский язык mega-X-mozg Помощь студентам 5 26.02.2010 16:56
где взять русский TB? или проблема с кодировкой seven123 Помощь студентам 4 19.12.2009 15:53
Проблема с русский текстом Shaman4eg Общие вопросы C/C++ 2 05.07.2009 13:40
Отображение символов в Delphi Airou Компоненты Delphi 1 18.04.2008 00:26