Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397

Как указать Notepad++ нужную кодировку?

03.03.2024, 20:58. Показов 1659. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть проблемы такая: Notepad++ неправильно ставит кодировку.
1) Функция zanovoData должна сохранять в файлике несколько строк, которые по неизвестной мне причине сохраняются криво. Некоторые символы кириллицы (заглавные буквы - всегда) заменяются на что-то другое. Notepad++ говорит, что кодировка - Macintosh.
2) В классе Mod есть функция printMods, которая тоже записывает кириллицу в другой файл. С тем, что происходит в этом файле, я полностью доволен, но про этот файл Notepad++ уже говорит, что он в кодировке Windows-1251.
3) Кроме того, файл blocks.lua должен быть в кодировке UTF-8, но у него тоже ставится 1251.


Каким образом можно сделать так, чтобы блокнот ставил указанную кодировку?



Вот код функций, потому что весь код программы я загрузить сюда никак не могу:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//Запись файла с данными генерации заново
void zanovoData(long gen)
{
    setlocale(LC_ALL, "UTF-8");
 
 
    ofstream ZanovoData;
    ZanovoData.open("GPB/Data.txt");
 
    
    ZanovoData << "Это файл данных для генератора." << endl;
    ZanovoData << "Параметры здесь не меняются вручную." << endl;
    ZanovoData << "Изменение данных в этом файле может привести к неработоспособности программы." << endl;
    ZanovoData << endl;
    ZanovoData << endl;
    ZanovoData << "Было генераций:" << endl;
    ZanovoData << to_string(gen) << endl;
    ZanovoData << endl;
 
 
    ZanovoData.close();
    setlocale(LC_ALL, "Russian_Russia.1251");
}



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    //Печать модификаторов в файл-список
    void printMods()
    {
        setlocale(LC_ALL, "UTF-8");
 
        ofstream ModsInfo;
        ModsInfo.open("GPB/ModsInfo.txt");
 
        ModsInfo << "Индекс) Значение_по_умолчанию:[Минимально_допустимое,Максимально_допустимое] Влияние_на_генератор" << endl;
        ModsInfo << "------------------------------------------------------------------------------------" << endl << endl;
 
        //Печать
        for (int i = 0; i < 200; i++)
        {
            if (blurbs[i] != "") //Если имя не пустое и модификатор по индексу существует
            {
                ModsInfo << blurbs[i] << endl << names[i] << endl << endl;
            }
        }
 
 
 
 
        ModsInfo.close();
 
        setlocale(LC_ALL, "Russian_Russia.1251");
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2024, 20:58
Ответы с готовыми решениями:

Как изменить кодировку во встроенной консоли Notepad++
Я запускаю свой код, а там вместо русских символов кракозябры. Я пробовал менять кодировку через команду chcp 65001 но там ошибка(в...

Как указать кодировку?
Здравствуйте, есть скрипт, который создает элемент xml: #!/usr/bin/python #*- coding: utf-8 -*- from lxml import etree ...

Как указать кодировку в строке?
сделал скрип но при внедрении его в проект русские символы отображаются не корректно как ее указать echo &quot;привет мир&quot;;как...

23
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
04.03.2024, 23:52  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SmallEvil Посмотреть сообщение
конвертировать в utf8
А как сделать это?
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
04.03.2024, 23:55
Цитата Сообщение от ChioraYaz Посмотреть сообщение
3) Кроме того, файл blocks.lua должен быть в кодировке UTF-8, но у него тоже ставится 1251.
Если вы открываете корректно записанный файл УТФ8 через какой то блокнот, и он вам пишет АНСИ или ЦП1251, это ещё ничего не значит.
Просто укажите блокноту показать его как УТФ8.
Другое, если после этого у вас, по вашим соображениям, его содержимое отображается неверное, значит там кодировка не УТФ8.

Добавлено через 37 секунд
Цитата Сообщение от ChioraYaz Посмотреть сообщение
конвертировать в utf8
А как сделать это?
Средствами ОС(windows : MultiByteToWideChar) или сторонней библиотекой (iconv, ICU, etc...).
Не ркеомендую для этого использовать средства С++.
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
04.03.2024, 23:58  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Просто укажите блокноту показать его как УТФ8
Это запросто. Просто суть программы такова, что она будет использоваться довольно часто, и каждый раз после использования лезть и преобразовывать сильно надоест, да и выглядит это как-то плохо.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
05.03.2024, 00:02
Цитата Сообщение от ChioraYaz Посмотреть сообщение
да и выглядит это как-то плохо
Работа с текстом руками, всегда так выглядит...

Добавлено через 1 минуту
Цитата Сообщение от ChioraYaz Посмотреть сообщение
и преобразовывать
Преобразовывать не нужно, выбрать отображение.
Ну, как сказали выше, BOM сигнатура в этом может немного помочь.
Но для этого нужно посмотреть спецификацию для скриптов ЛУА, поддерживают ли они БОМ.
Я такого насмотрелся, что может быть всякое ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2024, 00:02

StreamWriter: как указать кодировку
в книгах написано что сохранять и открывать файлы нужно так: StreamWriter autput = new StreamWriter(&quot;autput.txt&quot;); ...

Как указать кодировку XML документа?
Что нужно чтобы IE не ругался на русские буквы, загружая XML-документ?

Вставить как гиперссылку: не могу указать на нужную фразу
Microsoft Office Word 2007 Мне нужно из одного документа вставить гиперссылки на фразы в другом документе. Открываю оба...

Как указать JMail кодировку отправляемого сообщения?
Добрый день. Подскажите, как указать JMail кодировку отправляемого сообщения (по умолчанию стоит Западноевропейская, нужна koi8-r)

Как указать кодировку при чтении с файла
Суть программы. Имеется файл data.txt, в котором в такой последовательности записаны символы aaa b vv kkkk nnnnnn ppppp ii kkkk...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru