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

COLLATE PXW_CYRL в Firebird

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

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

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

Re: COLLATE PXW_CYRL в Firebird

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

Re: COLLATE PXW_CYRL в Firebird

Добавлено: 21 июн 2006, 10:20
Vladimir03
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,
...
)

Добавлено: 21 июн 2006, 10:51
Dimitry Sibiryakov
Значит ты базу создавал с умолчательной кодировкой не WIN1251.

Добавлено: 21 июн 2006, 16:09
kdv
Ошибка была "COLLATION PXW_CYRL is not valid for specified CHARACTER SET"
еще один прочитавший ФИГУ в FAQ.

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

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

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