Борьба с крякозябликами. Часть первая
Борьба с крякозябликамиНебольшая статья по устранению "крякозяблей" в программах, это действительно моя первая статья в
-
Борьба с крякозябликами
Небольшая статья по устранению "крякозяблей" в программах, это действительно моя первая статья в жизни, писал преимущественно ночью, сколько сил после работы хватало...
На примере рассматривается разбор шестнадцатеричного редактора WinHex в дизассемблере. Пожалуй, одна из легких ситуаций, которую можно без проблем решить.
Скачать руководство:NNK_RTR нравится это сообщение.21 февраля 2013 - 23:38 / #1 -
Оффлайн
Звание: Легенда
Админ
Сообщений: 2198
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3595
Был: 2024-12-09 09:32
Лайков: 204
А говорил не умеешь писать мануалы. Прочитал в онлайне - доступно и понятно. Не забудь на главную новость выставить - поисковики обижать "низя"21 февраля 2013 - 23:57 / #2 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 167
Отличный материал! С нетерпением жду продолжения.
Nexus, при чтении твоего труда, у меня сложилось впечатление, что это твоя не первая статья. Стиль изложения и подача материала носят черты профессионализма. Это не похоже на сочинение первоклассника "Как я провел этим летом", а говорит о неком опыте (или таланте) в литературной сфере.23 февраля 2013 - 03:30 / #3 -
Не знаю как по плагину выложить материал - мудрено там очень... Ну да это будет третья часть. О художественной стилистике - слишком много книг читал . Но это действительно моя первая статья в жизни, писал преимущественно ночью, сколько сил после работы хватало... Кстати, а какими ты инструментами создавал статьи? Особенно красивые цветные обводы строк, у меня что под мышку подвернулось, то и применил.24 февраля 2013 - 00:31 / #4
-
На этой странице ( https://wylek.ru/forum/showtopic-17 ), скачал файл "Борьба с крякозябликами.pdf". В нем так описывается легкий прием на тему кодировок: "Самый простой вариант решения – это смена кодовой страницы в реестре Windows в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage. Наобум сменил значение в строке “1252”, из c_1252.nls превратил в c_1251.nls. Перезагрузил компьютер – сработало!".
Для эксперимента с кодировкой ISO-8859-5 хотел попробовать такой способ, но в реестре слишком много таких элементов и непонятно, какие из них следует подправить. Поэтому и вопрос. Как ее найти?
Примеры этих элементов, в которых возможно бы изменять теоретически:
HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/csISOLatinCyrillic/AliasForCharset/
HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/Cyrillic/AliasForCharset/
HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/ISO-8859-5/AliasForCharset/
HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/ISO-8859-5:1988/AliasForCharset/
HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/iso-8859-5/Codepage [+InternetEncoding]
HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/iso-ir-144/AliasForCharset/
HKEY_CLASSES_ROOT/Interface/MIME/Database/Codepage/28595/BodyCharset [+Description, +Encoding, +Family]
HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/csISOLatinCyrillic/AliasForCharset
HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/Cyrillic/AliasForCharset
HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/ISO-8859-5/AliasForCharset
HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/ISO-8859-5:1988/AliasForCharset
HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/iso-8859-5/Codepage [+InternetEncoding]
HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/iso-ir-144/AliasForCharset/
HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Codepage/28595/BodyCharset [+Description, +Encoding, +Family]Сообщение отредактировал greg 30 марта 2024 - 20:1030 марта 2024 - 12:59 / #5 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 167
Цитата: gregКак ее найти?
Проблему нужно решать в файлах программы, а не в реестре.
Цитата из статьи:Цитата: NexusНо нам же нежелательно менять что-то в системе, нужны изменения только в коде самой программы.31 марта 2024 - 15:07 / #6 -
Как то делал перевод небольшой программы и в некоторых местах были крякозябры.
Победил их с помощью x64dbg дело оказало в структуре LOGFONT, а именно в значение lfCharSet, некоторые европейцы при заполнение ставят значение ANSI_CHARSET(кодировка для европейских языков), а надо ставить DEFAULT_CHARSET(кодировка зависимая от системы). Нашел место заполнения структуры по функций CreateFontIndirect и заменил 0 на 1 и это исправило крякозябрыNNK_RTR нравится это сообщение.17 мая 2024 - 18:03 / #7