Страница 1 из 1

Как в UDF определить кодировку переданной в нее строки?

Добавлено: 15 фев 2006, 21:45
Desdechado
1. Допустим, есть UDF, принимающая на вход строку (PChar). Как определить charset для строки (win1251, unicode_fss или другая) внутри UDF?
А то ведь в БД могут быть поля разных кодировок. Хочется написать одну функцию на все.
2. В случае unicode_fss в строке двоичные нули будут ведь. А Pchar - строка с нуль-окончанием. Как это вообще работать может?

3. Из IBExpert пишу русские слова в таблицу с полями unicode_fss командами INSERT, однако поведение странное. При просмотре содержимого таблицы с выбранной опцией "показать юникод" показывает гадость, а отключишь - русские буквы показывает нормально. При подключении к БД указываю unicode_fss. Что я недонастроил?

Re: Как в UDF определить кодировку переданной в нее строки?

Добавлено: 15 фев 2006, 23:23
hvlad
Desdechado писал(а):1. Допустим, есть UDF, принимающая на вход строку (PChar). Как определить charset для строки (win1251, unicode_fss или другая) внутри UDF?
А то ведь в БД могут быть поля разных кодировок. Хочется написать одну функцию на все.
2. В случае unicode_fss в строке двоичные нули будут ведь. А Pchar - строка с нуль-окончанием. Как это вообще работать может?
В IB - никак. В FB - см. на пар-ры BY DESCRIPTOR
Desdechado писал(а):3. Из IBExpert пишу русские слова в таблицу с полями unicode_fss командами INSERT, однако поведение странное. При просмотре содержимого таблицы с выбранной опцией "показать юникод" показывает гадость, а отключишь - русские буквы показывает нормально. При подключении к БД указываю unicode_fss. Что я недонастроил?
Насколько я помню, IBE не умеет вводить данные в unicode - только показывать

Добавлено: 16 фев 2006, 10:57
kdv
умеет, в Form view, там специальные tedit-ы появляются.