Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/302: Рейтинг темы: голосов - 302, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 12

Задать кодировку Windows-1251 для файла

14.05.2014, 14:27. Показов 59378. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Проблема в том что кодировка изменяется на UTF-8,но требуется на Windows-1251.
Что не так?
Заранее спасибо.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void button2_Click(object sender, EventArgs e)
        {
            Encoding Code = Encoding.GetEncoding(1251);
            string Str = string.Empty;
            using (System.IO.StreamReader Reader = System.IO.File.OpenText(Form1.filename))
            {
                Str = Reader.ReadToEnd();
            }
            Str = Str.Replace("111", "123");
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(Form1.filename))
            {
                file.Write(Str,Code);//Тут мы меняем кодировку,в чем ошибка?
            }
            MessageBox.Show("Работа выполнена успешно!");
            this.Close();
        }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.05.2014, 14:27
Ответы с готовыми решениями:

Перевести фамилию в кодировку Windows 1251
Закодируйте и разместите в разрядную сетку свою фамилию, используя базовую таблицу кодировки символов Windows 1251. Первая буква фамилии –...

Изменить кодировку строки UTF-8 to windows-1251
получаю из хмл текст, он весь в UTF-8. как изменить кодировку строки UTF-8 to windows-1251? если есть в пхп функция изменения...

Можно ли использовать кодировку Windows-1251 в WP7
Добрый день! Решил посмотреть что представляет из себя Windows Phone 7 и написать тестовое приложение, столкнулся со следующей проблемой....

4
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
14.05.2014, 14:30
А где Вы видите, что она "подменилась" на UTF8?
0
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 12
14.05.2014, 14:31  [ТС]
Spawn, Проверял кодировку файла после работы программы
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
14.05.2014, 14:38
C#
1
2
3
4
            File.WriteAllText("c:\\utf8.txt", "123", Encoding.UTF8);
            File.WriteAllText("c:\\win1251.txt", "123", Encoding.GetEncoding(1251));
            long utf8Size = new FileInfo("c:\\utf8.txt").Length;        //6
            long win1251Size = new FileInfo("c:\\win1251.txt").Length;  //3
Я чего-то не так сделал?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18240 / 14154 / 5366
Регистрация: 17.03.2014
Сообщений: 28,841
Записей в блоге: 1
14.05.2014, 14:50
Лучший ответ Сообщение было отмечено Iiisi как решение

Решение

Iiisi, кодировку следует передавать конструкторам StreamReader и StreamWriter. Вызов file.Write(Str,Code) не менял кодировку. Ты вызывал вот эту перегрузку Write предназначенную для форматированного вывода.

Правильно будет так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void button2_Click(object sender, EventArgs e)
{
    Encoding win1251 = Encoding.GetEncoding(1251);
    
    string str;
    using (var reader = new StreamReader(Form1.filename, win1251))
    {
        str = reader.ReadToEnd();
    }
    
    str = str.Replace("111", "123");
    
    using (var writer = new StreamWriter(Form1.filename, false, win1251))
    {
        writer.Write(str);
    }
    
    MessageBox.Show("Работа выполнена успешно!");
    this.Close();
}
Или так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private void button2_Click(object sender, EventArgs e)
{
    Encoding win1251 = Encoding.GetEncoding(1251);
    
    string str = File.ReadAllText(Form1.filename, win1251);
    
    str = Str.Replace("111", "123");
    
    File.WriteAllText(Form1.filename, str, win1251);
    
    MessageBox.Show("Работа выполнена успешно!");
    this.Close();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2014, 14:50
Помогаю со студенческими работами здесь

Как задать кодировку для файла?
<?php header('Content-Type: text/html; charset= utf-8'); ini_set('display_errors','On'); error_reporting('E_ALL'); $login = $_POST;...

Как изменить кодировку символов с Windows-1251 на UTF-8?
Здравствуйте. Не давно начал изучать HTML, XHTML, CSS. Столкнулся с небольшой проблемой. Изучаю по книге, по ходу чтения там идёт...

Перекодировать строку из кодировки KOI в кодировку Windows-1251 и обратно
Кодировщик. Написать программу, перекодирующую строку в кодировке KOI в строку в кодировке Windows-1251 и обратно. написать...

Можно ли изменить кодировку Windows-1251 на Utf-8 при помощи Cmd.exe?
В бух.7.7 создал файл.txt, нужно сохранить его в utf-8. Средства 1с77 позволяют менять кодовую страницу только WIN либо DOS. Можно ли...

Как в iframe задать кодировку для текстового файла, на который он ссылается
Есть тег iframe, который ссылается на текстовый файл. В текстовом файле есть русский текст. Он отображается не корректно. Как дать iframe-у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru