Вниз
Скачать: CL | DM;

Upper в Interbase   Найти похожие ветки 

← →
Seven   (2003-05-05 06:54) [0]

Этот вопрос уже задавался,
но ни один из ответов не принес желаемого результата.
А проблема такая: upper в запросах IB не работает с русскими буквами. На сайте ibase.ru то же был, но красивого решения не
нашел. Может у кого то есть действительный опыт борьбы с upper.
Какую кодировку нужно устанавливать для поля таблицы, к которому применяется Upper.
Спасибо за внимание


← →
Наталия ©   (2003-05-05 07:10) [1]

...upper("Cевен" COLLATE PXW_CYRL)=...


← →
Rad ©   (2003-05-05 07:15) [2]

Ну как это не нашел красивого решения?
На том же IBase ( http://www.ibase.ru/devinfo/ibrusfaq.htm) есть про применение кодировок более чем подробно.
А я вот лично использую UDF RFunc ( http://www.ibase.ru/d_udf.htm) - и тоже без всяких проблем (в том числе, с кодировками полей, базы т.д.)


← →
Desdechado ©   (2003-05-05 10:49) [3]

в UDF тяжеловато встроить все кодировки, поддерживающие кириллицу. Но если в БД используется только одна, то все просто.


← →
Zacho ©   (2003-05-05 12:08) [4]

А какой результат желаемый ?
Все просто - или задаешь для полей charset win1251 и в запросах используешь COLLATE PXW_CYRL или charset none и UPPER из UDF.
В чем, собственно, проблема ?


← →
Seven   (2003-05-05 15:01) [5]

Zacho: Если задавать для полей charset win1251,
то мой IB6.0 не дает вставить в поле ни одного русского
символа


← →
Alexandr ©   (2003-05-05 15:04) [6]

читать
http://www.ibase.ru/devinfo/ibrusfaq.htm
до полного прояснения.
(в том числе про параметры подключения)


← →
Соловьев ©   (2003-05-05 15:04) [7]


> то мой IB6.0 не дает вставить в поле ни одного русского
>
> символа

а как ты подключаешся?
в параметрах TDatabase есть lc_ctype=WIN1251?


← →
Карелин Артем ©   (2003-05-05 15:07) [8]

Seven (05.05.03 15:01)
Значит IB у тебя глючный. На 4.2, 6.1, FireBird, Yaffil нормально работает CHARACTER SET WIN1251
COLLATE WIN1251


← →
Seven   (2003-05-05 15:10) [9]

Наталия:

Может быть у меня ручки кривоваты,
но такой простой запрос:

Select
upper(name COLLATE PXW_CYRL)
from
company

или такой

Select
upper("я" COLLATE PXW_CYRL)
from
company

Вызывает след. ошибку

Cannot transliterate character between character sets
Statement: Select
upper(name COLLATE PXW_CYRL)
from
company

Таблица company содержит русские названия компаний


← →
Карелин Артем ©   (2003-05-05 15:17) [10]

Короче на всех этапах работы указывай русскую кодировку. При создании базы, при добавлении полей, при настройке соединения с базой в дельфине....


← →
Avreliy   (2003-05-05 15:30) [11]

Я использую FireBird 1.0.2. Кодировку указывал только при создании БАЗЫ. В IB Eхpert"е пробывал испльзовать UPPER с COLLATE PXW_CYRL - всё работает. Если запрос создаётся посредством использования BDE - попробуй в свойствах псевдонима БД присвоить параметру LANGDRIVER значение Pdox ANSI Cyrillic.


← →
Seven   (2003-05-05 15:34) [12]

Всем спасибо,
думаю, что теперь проблему решу, так как вариантов
исследования больше чем достаточно

PS: работаю через IBX,
а все запросы тестировал в IB_Console,
наверно стоит действительно
попробывать поставить другу версию IB


← →
Zacho ©   (2003-05-05 16:47) [13]


> Seven (05.05.03 15:34)

То, что "мой IB6.0 не дает вставить в поле ни одного русского
символа" - это баг именно консоли, а не IB. А вообще, IB 6.0 - глюкотень еще та. Настоятельно рекомендую перейти на FB или Yaffil.


← →
Desdechado ©   (2003-05-05 16:48) [14]

IBConsole тоже с кодировками глючит
возьми, например, IBExpert



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
8-83617
zenov
2003-02-12 15:55
2003.05.26
multimedia


6-83632
pheonix
2003-03-28 15:33
2003.05.26
TIdFTP


1-83480
Fktrc
2003-05-15 04:43
2003.05.26
Автоматическое присоединение исходников к екзешничку в виде ресур


7-83770
X-RayMan
2003-03-29 15:18
2003.05.26
TerminateProcess и разная фигня...


3-83324
Dusic
2003-05-07 10:14
2003.05.26
BDE для Access




   Наверх