Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: 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 вся ветка

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
1-83608
_Igorek
2003-05-14 18:05
2003.05.26
Ошибка при вставке собственного компонента из буфера обмена


14-83665
RaideR
2003-05-05 15:41
2003.05.26
Отчет


14-83705
Andrew K
2003-05-05 18:12
2003.05.26
Нейроные сети


14-83721
Calm
2003-05-05 15:44
2003.05.26
Моего поста не видно в ветке!


1-83437
Переяслов Григорий
2003-05-13 10:39
2003.05.26
Абсолютные координаты контрола.