baldr
|
|
« : 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" для навигатора.. Какие будут предложения?
|
|
|
Записан
|
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #1 : 27-06-2011 09:15 » |
|
Вообще надо бы угадать CodePage, тогда надписи при выводе не будут конвертироваться в вопросики. А язык известен?
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
baldr
|
|
« Ответ #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 долларов - это не вполне прилично
|
|
|
Джон
просто
Администратор
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
|
|
« Ответ #4 : 27-06-2011 11:22 » |
|
Джон, локаль менял и в свойствах системы есть опция "Language for non-Unicode programs" - менял и не помогло.. Через PE Explorer залез во временные распакованные файлы от Inno Setup и нашел ресурсные строки "#1070#1077...", а потом раскодировал...
|
|
|
Записан
|
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
|
|
|
Джон
просто
Администратор
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
|
|
« Ответ #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 долларов - это не вполне прилично
|
|
|
Джон
просто
Администратор
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 Кб - загружено 5172 раз.)
ss2.gif (18.43 Кб - загружено 4944 раз.)
ss3.gif (22.2 Кб - загружено 4875 раз.)
|
« Последнее редактирование: 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
|
|
« Ответ #8 : 27-06-2011 13:24 » |
|
2008 Студия не хочет его открывать. По крайней мере когда открываю как файл - говорит "Cannot enumerate resources in the executable".. PE Explorer говорит что оно написано на Delphi и упаковано UPX. В общем, тему можно закрывать - задача решена уже
|
|
|
Записан
|
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #9 : 27-06-2011 13:54 » |
|
А если в реестре Nls поправить? Например: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\<номер кодовой страницы> = "c_1251.nls" Обычно нужно рихтовать 1252.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Джон
просто
Администратор
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
Технический
Администратор
Offline
Пол:
|
|
« Ответ #11 : 27-06-2011 15:39 » |
|
Запакованной UPX можно этой же утилитой распаковать.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
baldr
|
|
« Ответ #12 : 28-06-2011 06:45 » |
|
В общем, всем спасибо, но задача уже решена в третьем посте.
|
|
|
Записан
|
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #13 : 28-06-2011 07:34 » |
|
Дык, интерес-то остался. На будущее.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "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."
|
|
|
|