В общем давно известная проблема, когда дельфи приложение запускается на винде с английской или другой локалью и пытается подгружать данные с Ansi файлов с русским текстом и получает заместо нормальных букв - знаки вопроса (???? ??) кракозябры такие
Возможно кто-то придумал как решить? На других конференциях нашел способ чтобы ресурсы которые уже в программе отображались нормально на юникод шрифтах (Tahoma) с чарсетом RUSSIAN_CHARSET
Код:
SetThreadLocale(1049);
Application.Initialize;
я так понимаю что он пытается при загрузке данных из файлов, представить в cp_1252 данные если в реестре стоит это значение
Вариант исправления локали в реестре не подходит, хотя работает
Код:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1251"="c_1251.nls"
"1252"="c_1251.nls"
перезагрузится после исправления
не буду же я каждому пользователю объяснять кто пользуется английской виндой что делать?
В общем прошу кто сталкивался с такой проблемой и нашел решение, подмогнуть
Как заставить программу игнорировать настройки реестра и кодировать в соответствии с CP_1251