Есть БД, в ней все данные в UTF8. Есть строковые литералы в программе, например:
- Код: Выделить всё
var
s: string;
begin
s := 'пример' + qTemp.Fields['FField1'];
end.
В параметрах TUIBDatabase явно кодировку не задаю. И если например сохранить строку s в БД, например:
- Код: Выделить всё
var
s: string;
begin
s := 'пример' + qTemp.Fields['FField1'];
qTemp.Close;
qTemp.SQL.Text := 'UPDATE Table1 SET FField1 = ' + QuotedStr(s);
qTemp.ExecSQL;
end.
То часть "пример" сохраниться кракозябрами, а та часть, которая была взята из БД сохраняется нормально.
Система: Ubuntu amd64. Все локали выставлены ru_ru.UTF8. Пробовал менять на ru_ru.CP1251, не помогло. В windows работает все нормально.
Помогите разобраться в чем дело.
Добавлено спустя 52 минуты 6 секунд:
Если можно пересобрать lazarus под другую локаль, то как это сделать?