Неверная кодировка надписей при сборке на другой машине
Добрый день!
Проблема такая. При компиляции на моей рабочей машине все заголовки, названия пунктов меню, надписи выводятся в правильной кодировке, т.е. по-русски.
При сборке проекта на другой машине(на сервере у нас стоит автоматический сборщик) почему-то выводятся "кракозябры".
Файл с надписями frxrcClass.pas выглядит так
Т.е. языковые ресурсы скомпилированы правильно (посмотрел все файла frxrc*.pas). Вопрос лишь в том, с какой кодовой страницей они кодируются функцией Utf8Encode ?
Поставил на сборочной машине русскую локаль -- не помогло. В чём может быть проблема?!
Спасибо.
Проблема такая. При компиляции на моей рабочей машине все заголовки, названия пунктов меню, надписи выводятся в правильной кодировке, т.е. по-русски.
При сборке проекта на другой машине(на сервере у нас стоит автоматический сборщик) почему-то выводятся "кракозябры".
Файл с надписями frxrcClass.pas выглядит так
unit frxrcClass;
interface
{$I frx.inc}
implementation
uses frxRes;
const resXML =
'<?xml version="1.1" encoding="utf-8"?><Resources CodePage="1251"> <StrRes Name='+
'"1" Text="ОК"/> <StrRes Name="2" Text="Отмена"/> <StrRes Name="3" Text="Все"/>'+
' <StrRes Name="4" Text="Текущая"/> <StrRes Name="5" Text="Номера:"/> <StrRes '+
'Name="6" Text="Разрывы страниц"/> <StrRes Name="7" Text="Страницы"/> <StrRes N'+
'ame="8" Text="Опции"/> <StrRes Name="9" Text="Введите номера и/или диапазоны ст'+
'раниц, разделенные запятыми. Например, 1,3,5-12"/> <StrRes Name="100" Text="Пре'+
'дварительный просмотр"/> <StrRes Name="101" Text="Печать"/> <StrRes Name="102"'+
' Text="Печать"/> <StrRes Name="103" Text="Открыть"/> <StrRes Name="104" Text="'+
'Открыть"/> <StrRes Name="105" Text="Сохранить"/> <StrRes Name="106" Text="Сохр'+
<...>
initialization
frxResources.AddXML(Utf8Encode(resXML));
end.
Т.е. языковые ресурсы скомпилированы правильно (посмотрел все файла frxrc*.pas). Вопрос лишь в том, с какой кодовой страницей они кодируются функцией Utf8Encode ?
Поставил на сборочной машине русскую локаль -- не помогло. В чём может быть проблема?!
Спасибо.
Комментарии
Должно быть:
Т.е. весть текст в UTF8.
И еще в региональных настройках должна быть выбрана русская локаль для программ не поддерживающих юникод (т.е 1251).
Какая версия FR ?
Если символы должны быть как у Вас(т.е. в UTF8), то зачем тогда при добавлении ресурса кодировать их в UTF8 (функция Utf8Encode) ? Или у Вас нет такой функции в юните?
Возможно у вас переходная сборка, т.е. когда только начали перевод ресурсов в utf8.
Файл ресурсов должен выглядеть как в аттаче.
Версия 4.7.181
Следует ли обновиться?
Впечатление что у вас файлы с разных версий.
Либо старый frcc.exe.
Приложил ресурсы и утилиту.
Попробуйте собрать с ними.
Ресурсы в Source , frcc.exe в RES.