cp866<>utf8

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение Mr.Smart » 29.03.2008 01:22:52

Привет едино мышленники я программист со стажем. занимался системакми как для Роскосмоса так и для Железных дороги (которые сейчас и разробатываю). Я тут не давно сталкнулся с Лазарем и фрее паскалем (просто появилясь свободная минута:)) Последнее время я вижу перспективы Российских разработчиков только в кросс платформености! Если кому интересно моя буквально недавняя реализация кириллици на олснове фрее паскаля прошу обращаться (извините адрес дать так не могу как меня могут не принять серьёзно) если всё пойдет ОК то моя работа будет опублекована! Для кирилицы мой модуль полностью поддерживает кодировки CP1251,CP855,CP866,KOI8-R,KOI8-U,KOI8-RU,KOI8-E,MacCyrillic,KIO-7,DKOI-8,AMIGA-DM. Если кому интересно пишите. У меня много задумок. (использование кодировок прозрачно для программиста).
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Сообщение zzzru » 29.03.2008 03:33:00

Есть две проблемы. Имеется две системы: для разработки (ASPLinux 11) и целевая, на которой должен работать разрабатываемый софт (система на базе RedHat 6). На обеих установлена и используется локаль ru_RU.koi8-r. Приложение под GTK1. Среда - Lazarus 0.9.25 и FPC 2.2.1 из SVN. На той системе, где разрабатываю все нормально.

Проблема 1. На целевой системе не отображается русский шрифт на кнопках, в меню и некоторых других элементах управления, а в других же (заголовке окна, надписях) - отображается нормально (пришлось правда явно указать шрифт). Для кнопок шрифт менял, пробовал делать исходники в UTF-8 и компилить с -Fcutf8, пробовал модуль GetText с разными кодировками - везде одно и то же: вместо русских букв - ничего (латиница при этом отображается нормально).

Проблема 2. На целевой системе в элементах управления типа TEdit и TMemo нет никакой реакции на ввод в русской раскладке. Даже событие OnKeyPress не обрабатывается. Обрабатывается только OnKeyDown но при этом переменная Key содержит код не русского, а соответствующего латинского символа на раскладке клавиатуры (то есть не Й, а Q, например). Делал все, что и по первой проблеме.

Сталкивался ли кто-нибудь с таким?

Mr.Smart
Интересно. Выложи, посмотрим твой модуль :)
zzzru
незнакомец
 
Сообщения: 5
Зарегистрирован: 29.03.2008 03:19:19

Сообщение Mr.Smart » 31.03.2008 13:26:48

Вот дошли руки до выкладывания:)
Ловите модуль перекодировок!
http://transenerkom.ru/src/codepage_manager.zip
Ваши мнения и пожелания шлите в личку или на мыло указано в архиве!
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Сообщение VirtUX » 31.03.2008 16:12:59

V@S писал(а):VirtUX
А можно и мне кинуть указанную утилитку, а то по ссылке не качается.
Спасибо.
Действительно был неверный линк. Сейчас исправлено, можно качать.
Кинуть куда (мыло)? Что (под Win или Lin, с исходниками)?
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Сообщение Attid » 31.03.2008 16:22:11

про скинуть в личку автору, нечего форум засорять
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение VirtUX » 02.04.2008 11:15:47

Заметил неполную совместимость между UTF-8 и (Windows-1251, IBM-866) в промежутке между $00 и $1F.
Как исправлю - отпишусь.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Сообщение Mr.Smart » 02.04.2008 11:53:15

VirtUX писал(а):Заметил неполную совместимость между UTF-8 и (Windows-1251, IBM-866) в промежутке между $00 и $1F.

А это разве критично?
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Сообщение VirtUX » 02.04.2008 12:34:22

Mr.Smart
А это разве критично?

Для многих "нет". А у некоторых "да", в частности у меня #$10 и #$11 должны корректно отображатся в текстовом выводе.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: cp866<>utf8

Сообщение unxed » 27.10.2020 05:46:48

ViruZ писал(а):Добавил в CodeChanger следующую функцию:
function TCodeChanger.DosToUtf8(var Text: string): boolean;


У вас там табличка неполная. Вот полная, сгенерированная с использованием актуального iconv'а.

128: b := #208#144; 129: b := #208#145; 130: b := #208#146; 131: b := #208#147;
132: b := #208#148; 133: b := #208#149; 134: b := #208#150; 135: b := #208#151;
136: b := #208#152; 137: b := #208#153; 138: b := #208#154; 139: b := #208#155;
140: b := #208#156; 141: b := #208#157; 142: b := #208#158; 143: b := #208#159;
144: b := #208#160; 145: b := #208#161; 146: b := #208#162; 147: b := #208#163;
148: b := #208#164; 149: b := #208#165; 150: b := #208#166; 151: b := #208#167;
152: b := #208#168; 153: b := #208#169; 154: b := #208#170; 155: b := #208#171;
156: b := #208#172; 157: b := #208#173; 158: b := #208#174; 159: b := #208#175;
160: b := #208#176; 161: b := #208#177; 162: b := #208#178; 163: b := #208#179;
164: b := #208#180; 165: b := #208#181; 166: b := #208#182; 167: b := #208#183;
168: b := #208#184; 169: b := #208#185; 170: b := #208#186; 171: b := #208#187;
172: b := #208#188; 173: b := #208#189; 174: b := #208#190; 175: b := #208#191;
176: b := #226#150#145; 177: b := #226#150#146; 178: b := #226#150#147; 179: b := #226#148#130;
180: b := #226#148#164; 181: b := #226#149#161; 182: b := #226#149#162; 183: b := #226#149#150;
184: b := #226#149#149; 185: b := #226#149#163; 186: b := #226#149#145; 187: b := #226#149#151;
188: b := #226#149#157; 189: b := #226#149#156; 190: b := #226#149#155; 191: b := #226#148#144;
192: b := #226#148#148; 193: b := #226#148#180; 194: b := #226#148#172; 195: b := #226#148#156;
196: b := #226#148#128; 197: b := #226#148#188; 198: b := #226#149#158; 199: b := #226#149#159;
200: b := #226#149#154; 201: b := #226#149#148; 202: b := #226#149#169; 203: b := #226#149#166;
204: b := #226#149#160; 205: b := #226#149#144; 206: b := #226#149#172; 207: b := #226#149#167;
208: b := #226#149#168; 209: b := #226#149#164; 210: b := #226#149#165; 211: b := #226#149#153;
212: b := #226#149#152; 213: b := #226#149#146; 214: b := #226#149#147; 215: b := #226#149#171;
216: b := #226#149#170; 217: b := #226#148#152; 218: b := #226#148#140; 219: b := #226#150#136;
220: b := #226#150#132; 221: b := #226#150#140; 222: b := #226#150#144; 223: b := #226#150#128;
224: b := #209#128; 225: b := #209#129; 226: b := #209#130; 227: b := #209#131;
228: b := #209#132; 229: b := #209#133; 230: b := #209#134; 231: b := #209#135;
232: b := #209#136; 233: b := #209#137; 234: b := #209#138; 235: b := #209#139;
236: b := #209#140; 237: b := #209#141; 238: b := #209#142; 239: b := #209#143;
240: b := #208#129; 241: b := #209#145; 242: b := #208#132; 243: b := #209#148;
244: b := #208#135; 245: b := #209#151; 246: b := #208#142; 247: b := #209#158;
248: b := #194#176; 249: b := #226#136#153; 250: b := #194#183; 251: b := #226#136#154;
252: b := #226#132#150; 253: b := #194#164; 254: b := #226#150#160; 255: b := #194#160;
unxed
новенький
 
Сообщения: 29
Зарегистрирован: 25.10.2020 23:38:56

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 19

Рейтинг@Mail.ru