Кириллица 1251 в Keil.

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
afz
Опытный кот
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Кириллица 1251 в Keil.

Сообщение afz »

Для старых Кейлов была патченная DLL-ина, которая принимала русский текст в кодировке 1251. У новых Кейлов в Edit -> Configuration в поле Encoding появилась возможность выбрать кодировку Russian Windows-1251, и в текстах, набранных в других (не кейловских) редакторах, она показывается вполне нормально. Однако, если в кейловском редакторе попытаться набрать русский текст, вместо русских букв, Кейл рисует вопросительные знаки.

Спрашивается, что делать? Эту дурость уже победили, или как? Нет, конечно, не составляет труда выбрать кодировку UTF-8, и с комментариями не будет никаких вопросов, только что делать с текстами, предназначенными для отображения на разнообразных LCD ? Ну не прикручивать же к ним UTF8, а? У меня сейчас Кейл 5.28.0.0...
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Реклама
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Кириллица 1251 в Keil.

Сообщение oleg110592 »

так делал - неудобно, но в линуксе утф-8 рулит

Код: Выделить всё

const char MENUTXT[6][20] =
    {
        {"\xA4\x61\xE3\x61\xBD\xB8\x65\x20\xB4\x70\x61\xE4\xB8\xBA\x61\x20\xA9\xAA\xA7"}, //Задание графика УФЛ
        {"\xA9\x63\xBF\x2E\x20\xE3\x61\xBF\xC3\x20\xB8\x20\xB3\x70\x65\xBC\x65\xBD\xB8"}, //Уст. даты и времени
        {"\x43\xB2\x70\x6F\x63\x20\x63\xC0\x65\xBF\xC0\xB8\xBA\x61\x20\x42\x45\x48\x54"}, //Сброс счетчика ВЕНТ
        {"\xA4\x61\xE3\x61\xBD\xB8\x65\x20\x70\x65\x63\x79\x70\x63\x61\x20\xA9\xAA\xA7"}, //Задание ресурса УФЛ
        {"\x4F\x20\xBE\x70\x6F\xB4\x70\x61\xBC\xBC\x65\x2E\x2E\x2E"},                     //О программе...
        {" "}}; 
Реклама
Аватара пользователя
moLCHec
Мявтор!
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.
Контактная информация:

Re: Кириллица 1251 в Keil.

Сообщение moLCHec »

мне помогла замена dll . keil 5.30 Win7 x64
сайт не дает прикрепить dll, если что пиши на емайл molchec@yandex.ru

На LCD нормально русский текст отправляется, кодировки шрифтов при формировании таблицы символов выбирал 1251.
utf зло, даже конструкции типа
char ch = '0';
не канают т.к. '0' это два байта при utf
Настоящий кот всегда либо голоден,
либо невыспался ...
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Кириллица 1251 в Keil.

Сообщение Z_h_e »

Доброго времени суток.
Как уговорить Keil что 'Ж' это char, а не два символа char ?

У меня Keil 6.14

Пробовал выбрать Rissian Windows 1251 вместо UTF, не помогло. Да и другие пробовал. Как-то подменять файлы не хочется, может есть простой способ уговорить?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Кириллица 1251 в Keil.

Сообщение oleg110592 »

С UTF8 проще конвертер использовать имхо. У ардуинщиков подсмотреть можно:
https://github.com/vlakir/CyrLCDconverter
Sublime, кодировка UTF8:
Изображение
Реклама
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Кириллица 1251 в Keil.

Сообщение Z_h_e »

Может ардуинщикам и нравится поручать работу компилятора микроконтроллеру, а мне нет :).

Можно переопределить весь алфавит конечно

Код: Выделить всё

#define Ж 0xE6
uint8_t str[]={Ж,0x00};
Но как-то это топорно выглядит.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Кириллица 1251 в Keil.

Сообщение VladislavS »

Что-то вы не то делаете. Keil давно уже всё сам умеет.
СпойлерИзображение
222.png
(35.65 КБ) 1229 скачиваний
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Кириллица 1251 в Keil.

Сообщение Z_h_e »

Обновиться видимо надо.

Добавлено after 9 minutes 10 seconds:
У меня строка из шести русских букв, кодируется 12 байтами.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 720
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: Кириллица 1251 в Keil.

Сообщение amv2000 »

[uquote="Z_h_e",url="/forum/viewtopic.php?p=4169815#p4169815"]У меня строка из шести русских букв, кодируется 12 байтами.[/uquote]У меня Keil 5.39 тоже самое кириллица выводится по 2 байта, победили это как или нет?
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Кириллица 1251 в Keil.

Сообщение Z_h_e »

Я не помню :).
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Кириллица 1251 в Keil.

Сообщение Martian »

Вероятно, это зависит от формата файла.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Кириллица 1251 в Keil.

Сообщение Z_h_e »

Весьма вероятно я установил новую версию. Сейчас Keil не установлен.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 720
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: Кириллица 1251 в Keil.

Сообщение amv2000 »

[uquote="Martian",url="/forum/viewtopic.php?p=4577601#p4577601"]Вероятно, это зависит от формата файла.[/uquote]Это как? формат в KEIL cp1251.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Кириллица 1251 в Keil.

Сообщение Martian »

Формат выбирается в настройках.
Проверил - у меня один байт в случае 1251, как и должно быть.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 720
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: Кириллица 1251 в Keil.

Сообщение amv2000 »

[uquote="Martian",url="/forum/viewtopic.php?p=4577641#p4577641"]у меня один байт в случае 1251, как и должно быть.[/uquote]А у меня когда в настройках проекта cp1251 а сам файл utf_8, если его переконвертировать в 1251, то выводит пустую строку.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Кириллица 1251 в Keil.

Сообщение Martian »

а я просто не делаю так.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 720
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: Кириллица 1251 в Keil.

Сообщение amv2000 »

Вот я и спрашиваю, что я делаю не так?
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Кириллица 1251 в Keil.

Сообщение Martian »

ну, получается - всё... зачем эти телодвижения? Почему нельзя принять для себя единый стиль, формат, кодировку и так далее? Ну а уж если так потребовалось конвертировать, то найти ту программу, которая это делает нормально. Вроде, Notepad++ не косячил. Или напишите свой вариант, делов-то на час.
Я всегда работаю с UTF-8 или -16. Во избежание всяких недоразумений.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 720
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: Кириллица 1251 в Keil.

Сообщение amv2000 »

Да в том то и дело, что не получается вывести кириллицу в cp1251, выводится только 2 байтовая utf_8. Вот и спрашиваю, что делаю не так.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Кириллица 1251 в Keil.

Сообщение Martian »

Ок. Надо провести эксперимент. Запустите Кейл, ничего не создавая сразу зайти в настройки и выставит кодировку 1251.
То есть, "Edit"->"Configuration"->"General editor settings:"->"Encoding:"->"Russian Windows-1251"
После чего создать новый файл написать в нём русскими буквами и сохранить.
Я сейчас именно так проделал, всё нормально, кодировка в файле 8-битная. Кейл последней версии, V5.39.00
Ответить

Вернуться в «ARM»