COLLATE PXW_CYRL в Firebird

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Ответить
Vladimir03
Сообщения: 15
Зарегистрирован: 13 июн 2006, 07:54

COLLATE PXW_CYRL в Firebird

Сообщение Vladimir03 » 21 июн 2006, 08:47

В Interbase для сортировки строковых полей без учета регистра я всегда использовал COLLATE PXW_CYRL.
Только дайте, пожалуйста дельный совет, "О работе с русскими буквами в InterBase/Firebird" я уже читал, а то будете опять меня по FAQам гонять. Зачем тогда форум.
Поставил Firebird, создал базу, в ней таблицу. Но почему-то при создании таблицы
CREATE TABLE GOODS (
...
NAME VARCHAR(60) COLLATE PXW_CYRL
...
) не работает.

В чем тут загвоздка. Базу создавал с поддержкой WIN1251 RUSSIAN_CHARSET, все как в Интербейзе. Как с этим бороться. Может быть RDB$RELATION_FIELDS исправлять.

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 21 июн 2006, 08:54

Почему начинающие при любой проблеме в системные таблицы лезут? :evil:
Скопируй в папку программы папку intl из каталога установленного firebird'а.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Re: COLLATE PXW_CYRL в Firebird

Сообщение dimitr » 21 июн 2006, 09:11

Vladimir03 писал(а):не работает
я щаз тебя не в фак, а дальше пошлю. Ошибку процитировать влом?

Vladimir03
Сообщения: 15
Зарегистрирован: 13 июн 2006, 07:54

Re: COLLATE PXW_CYRL в Firebird

Сообщение Vladimir03 » 21 июн 2006, 10:20

dimitr писал(а):
Vladimir03 писал(а):не работает
я щаз тебя не в фак, а дальше пошлю. Ошибку процитировать влом?
Все. Нашел. Firibird у меня почему-то не работает с кодировкой по умолчанию (она у меня в регистрации точно стоит WIN1251). Создаю таблицы в IBExpress. Ошибка была "COLLATION PXW_CYRL is not valid for specified CHARACTER SET". Помогло:
CREATE TABLE GOODS1 (
...
NAME VARCHAR(60) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
...
)

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 21 июн 2006, 10:51

Значит ты базу создавал с умолчательной кодировкой не WIN1251.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 июн 2006, 16:09

Ошибка была "COLLATION PXW_CYRL is not valid for specified CHARACTER SET"
еще один прочитавший ФИГУ в FAQ.

1. Создаешь базу в WIN1251.
2. работаешь.

Как ты тогда базу создавал в InterBase?

p.s. если ты скачал файлы embedded, то zip надо распаковывать с подкаталогами.

Ответить