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

Использование UNICODE_FSS

Добавлено: 26 окт 2004, 11:39
fsharykin
Если у меня, например, определено в таблице поле типа varchar(10) в кодировке UNICODE_FSS и я передаю его в качестве параметра в хранимую процедуру, то в хранимой процедуре я должен описать параметр как varchar(10) или как varchar(30)?

Добавлено: 26 окт 2004, 11:43
kdv
вообще как varchar(30), но ... дело в том, что полноценно с юникодом можно работать только если

1. работа идет с ibx/fibplus/ibapi и все строки вручную переводятся в юникод туда и обратно
2. работа идет через EasySoft ODBC (unicode-вариант) или IBProvider (www.ibprovider.com/rus).

См. http://www.ibase.ru/devinfo/ib_unicode.htm

Добавлено: 26 окт 2004, 12:15
fsharykin
Я работаю на С#(VS2003), CУБД FireBird 1.5 через FirebirdNETProvider 1.7, так что проблем с перекодировкой нет вообще. Странно, что до сего момента я не умножал на три длины строк в параметра SP и все вроде бы работало (сомнения заронил IbExpert когда генерил тект SP c умножением на три). Теперь наверное надо будет умножать на три.

Добавлено: 26 окт 2004, 12:24
kdv
да, про юникод и кол-во символов написано в DataDef.pdf.

Re: Использование UNICODE_FSS

Добавлено: 26 окт 2004, 17:09
dimitr
fsharykin писал(а):Если у меня, например, определено в таблице поле типа varchar(10) в кодировке UNICODE_FSS и я передаю его в качестве параметра в хранимую процедуру, то в хранимой процедуре я должен описать параметр как varchar(10) или как varchar(30)?
Если у тебя база в unicode_fss, то надо описывать как varchar(10), иначе как varchar(10) character set unicode_fss. Никаких varchar(30) быть не должно.