|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi. Проблема с кодировкой не юникод данных на английской локали
В общем давно известная проблема, когда дельфи приложение запускается на винде с английской или другой локалью и пытается подгружать данные с 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 Последний раз редактировалось hilaryon, 16.12.2013 в 12:38. |