Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: В программе вместо текста - знаки вопроса.  (Прочитано 23186 раз)
0 Пользователей и 1 Гость смотрят эту тему.
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« : 27-06-2011 08:44 » 

Некой приложение при попытке установиться выдает окно как на скриншоте. Вместо текста - знаки вопроса. Попытки поменять системную локаль на English и обратно на Russia не помогли.. Windows 7.
Нужно просто понять что там написано и какую опцию выбирать. Как можно это вытащить из файла? Инсталлятор создан с помощью Inno Setup:
Тип        : Application (0x1)
ОС         : Win32 (0x4)
Язык    : English (United States) (0x0)
Кодировка   : 1200 (ANSI - Unicode (BMP of ISO 10646)) (0x4B0)

Приложение - инсталлятор карт "Дороги России 5.23" для навигатора..

Какие будут предложения?


* screenshot0001.png (109.27 Кб - загружено 5106 раз.)
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 27-06-2011 09:15 » 

Вообще надо бы угадать CodePage, тогда надписи при выводе не будут конвертироваться в вопросики. А язык известен?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #2 : 27-06-2011 09:25 » 

Язык, вроде, должен быть русский, но меня смущает вот это в свойствах файла: "Кодировка   : 1200 (ANSI - Unicode)" (выцеплял через плагин FileInfo для TC)

Добавлено через 22 минуты и 38 секунд:
Уф, %плохое слово%, вроде добыл.
Текст был "Установка обновления карт / Возврат к исходной версии карт"...
Спасибо:
* Мозг
* PE Explorer
* Сервису http://2cyr.com/decode/?lang=en
« Последнее редактирование: 27-06-2011 09:47 от baldr » Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 27-06-2011 11:11 » 

Типчная проблема, когда создают неюникодное приложение с неюникодным языком. А переустановить дефолтный неюникодный язык пробовал? Не local, а именно неюникодный язык (понятия не имею как это по-русски называется, могу сделать скрины с немецкой винды).
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #4 : 27-06-2011 11:22 » 

Джон, локаль менял и в свойствах системы есть опция "Language for non-Unicode programs" - менял и не помогло..
Через PE Explorer залез во временные распакованные файлы от Inno Setup и нашел ресурсные строки "#1070#1077...", а потом раскодировал...
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #5 : 27-06-2011 11:33 » 

Да, я его имел ввиду. Ну тогда понятно. Они зпихали юникодный текст, в неюникодную оболочку. Это экзешник? В студии не пробовал открывать, как ресурсы?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #6 : 27-06-2011 12:36 » 

В студии не пробовал.. А что я там могу увидеть?
Вот информация о самом файле:
Тип        : Application (0x1)
ОС         : Win32 (0x4)
Язык    : Russian (Russia) (0x419)
Кодировка   : 1251 (ANSI - Cyrillic) (0x4E3)

Думаю, ANSI - и есть главная характеристика?
В ресурсах сами объекты, и правда, в unicode:
Код:
 Caption = #1054#1073#1085#1086#1074#1083#1077#1085#1080#1077' '#1082#1072#1088#1090"</code>
« Последнее редактирование: 27-06-2011 12:38 от baldr » Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #7 : 27-06-2011 13:09 » 

В студии не пробовал.. А что я там могу увидеть?

Вот смотри, недавний пример от ann_nef. Она компилирует с русским ANSI. Если я прогу запускаю, то вижу так:



Открываю диалог и вижу:



Если открываю EXE в студии, то получается:



Добавлено через 4 минуты и 56 секунд:
То есть, для тех ресурсов, где кодовая страничка указана правильно, я в редакторе ресурсов вижу русский текст (диалог 131), а в винде Не понял?. А вот у основного окна она оставила EN-US, поэтому и в редакторе, и в проге я вижу ANSI кракозябры для моей западноевропейской кодировки.

Добавлено через 2 минуты и 1 секунду:
В любом случае ANSI кракозябры можно через студию вытащить, например, Ââåäèòå êîýô.ñîîò.àìïëèòóä âõîä.è âûõîä.SIN и сохранить в текстовый файл. А его уже в любом браузере с нужной кодировкой просмотреть.

* ss1.gif (8.57 Кб - загружено 5070 раз.)
* ss2.gif (18.43 Кб - загружено 4847 раз.)
* ss3.gif (22.2 Кб - загружено 4769 раз.)
« Последнее редактирование: 27-06-2011 13:15 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #8 : 27-06-2011 13:24 » 

2008 Студия не хочет его открывать. По крайней мере когда открываю как файл - говорит "Cannot enumerate resources in the executable"..
PE Explorer говорит что оно написано на Delphi и упаковано UPX.



В общем, тему можно закрывать - задача решена уже Улыбаюсь

* screenshot0002.png (50.69 Кб - загружено 4819 раз.)
* screenshot0003.png (37.15 Кб - загружено 4960 раз.)
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 27-06-2011 13:54 » 

А если в реестре Nls поправить?
Например:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\<номер кодовой страницы> = "c_1251.nls"
Обычно нужно рихтовать 1252.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #10 : 27-06-2011 14:15 » 

написано на Delphi и упаковано UPX.

Упакованные студия открывать не может. Насчёт Дельфи... не знаю. По идее должна. Это уже винда, а не компилятор.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 27-06-2011 15:39 » 

Запакованной UPX можно этой же утилитой распаковать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #12 : 28-06-2011 06:45 » 

В общем, всем спасибо, но задача уже решена в третьем посте. Улыбаюсь
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 28-06-2011 07:34 » new

Дык, интерес-то остался. Ага На будущее.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines