IBX проблемы с русским

Модератор: Модераторы

Ответить
DedFrend
постоялец
Сообщения: 157
Зарегистрирован: 25.11.2018 11:21:50

IBX проблемы с русским

Сообщение DedFrend »

База данных Firebird 2.5 Кодировка WIN1251

При доступе через компоненты IBX (TIBConnection, TIBTable) данные отображаются нормально,
но при попытке редактировать русский текст (даже просто пробел добавить) после post
символы превращаются в кракозяблы (похоже, что UTF-8).

Это в Lazarus 1.6.2. и в разных проектах. В Delphi ничего подобного не происходит.

Ось в обоих случаях Windows XP
Пакет dclibx 2.0.2

UTF-8 я , сознательно во всяком случае, нигде не указывал
DedFrend
постоялец
Сообщения: 157
Зарегистрирован: 25.11.2018 11:21:50

Сообщение DedFrend »

Пока шла премодерация обнаружилось, что проблема не на всех компах. На одном, при той же Winodws XP, и ,казалось бы, той же кофигурации Лазаря проблемы нет.
И exe взятый оттуда работает нормально. Т.е. проблема все же в Лазаре.
А чтобы его просто переставить - надо что-то предварительно сносить?
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

DedFrend писал(а):UTF-8 я , сознательно во всяком случае, нигде не указывал

А надо указывать. Или мириться с непредсказуемыми последствиями.
olegy123
долгожитель
Сообщения: 1643
Зарегистрирован: 25.02.2016 11:10:20

Сообщение olegy123 »

DedFrend писал(а):символы превращаются в кракозяблы (похоже, что UTF-8).
видимо сам редактор текста работает в UTF-8, дело в том что канва рисуется в графике а редактор подставляется дефолтный виндовый которые не думает что кодировка в WIN1251.
Вообще то это давно решили путем конкретного указания при подключении Codepage/CharSet
БД сама умеет перекодировать на лету.

DedFrend писал(а):проблема не на всех компах. На одном, при той же Winodws XP, и ,казалось бы, той же кофигурации Лазаря проблемы нет.
в XP еще юзали WIN1251
Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Сообщение *Rik* »

От операционной системы зависеть не должно, приложения Lazarus по умолчанию используют UTF8 и все что нужно для его поддержки вшито в приложение. FireBird умеет отдавать данные в той кодировке, которая требуется для приложения, для этого в компоненте TIBDatabase нужно указать кодировку, которую использует приложение.
IBDatabaseEdit.png
DedFrend
постоялец
Сообщения: 157
Зарегистрирован: 25.11.2018 11:21:50

Сообщение DedFrend »

Итак: было три компа почти одинаковых по ПО.
На одном проблемы не было, на двух была. Проблема распространялась на все вновь компилируемые приложения.
На одном компе проблема ушла как и пришла - незаметно.
На оставшемся проблемном - переустановка пакета IBX не помогла, переустановка Лазаря, а потом IBX - помогла.
Если опять сломается - м.б. продолжу тему
Ответить