charset и collate - подскажите

Запросы, планы, оптимизация запросов, ...

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

Ответить
Plumbum
Сообщения: 10
Зарегистрирован: 31 янв 2005, 10:48

charset и collate - подскажите

Сообщение Plumbum » 18 фев 2005, 12:36

Доброго всем!

Есть поле

Код: Выделить всё

MSG  VARCHAR(78) CHARACTER SET NONE
Вытаскиваю данные

Код: Выделить всё

select MSG from TABLE_NAME


Если там только латинские символы, то все нормально. Если же есть русские то вылетает ошибка и возвращаются строки только с латиницей.

Подскажите как победить.

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

Сообщение kdv » 18 фев 2005, 12:49


Plumbum
Сообщения: 10
Зарегистрирован: 31 янв 2005, 10:48

Сообщение Plumbum » 18 фев 2005, 13:22

спасибо. читал. в данном случае не помогло :(

наверно я опять недоформулировал вопрос.
с руссуими буквами в приложении нормально.

выполняю

Код: Выделить всё

    SELECT
      e.rdb$exception_name,
      e.rdb$exception_number,
      e.rdb$message
    FROM
      RDB$EXCEPTIONS e
    ORDER BY
      e.rdb$exception_number

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

Сообщение kdv » 18 фев 2005, 13:31

наверно я опять недоформулировал вопрос.
ни фига себе, "недоформулировал" :-) это вообще 2 разных вопроса.

:-({|=

я не знаю, может мне подрядиться давать прямые ссылки на документы на своем сайте ЗА ДЕНЬГИ?
http://www.ibase.ru/devinfo/customex.htm

кроме того, в FB 1.5 есть динамические exceptions. читай relnotes от 1.5, 1.5.1, 1.5.2

p.s. или порубать этот форум к чертовой матери - 50% (как минимум) вопросов - от лентяев, которые в том числе поиском пользоваться не умеют... ](*,)

p.p.s. ну и сам вопрос - "charset и collate". круто...

Plumbum
Сообщения: 10
Зарегистрирован: 31 янв 2005, 10:48

Сообщение Plumbum » 18 фев 2005, 13:55

kdv писал(а):
классная ссылка, но не в тему.
kdv писал(а):
кроме того, в FB 1.5 есть динамические exceptions. читай relnotes от 1.5, 1.5.1, 1.5.2
мы выясняли (только чур не драться!!!) у меня IB6 :)
kdv писал(а):
p.s.
лучше воздержусь от комментариев.

мне не нужно динамически генерить exceptions мне нужно просто получить ВСЕ данные указанной таблицы. и ничего более.

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

Сообщение kdv » 18 фев 2005, 14:27

http://www.ibase.ru/devinfo/customex.htm
классная ссылка, но не в тему.
ты к пункту 2 примечание читал? если тебе надо прочитать русские буквы, внесенные в Rdb$exceptions в кодировке none, то и ЧИТАТЬ их надо тоже используя кодировку none, а не win1251. Перекодирования none-win1251 нет, ибо в none может храниться все что угодно.

насчет "не в тему" - придумка про custom exceptions явилась ИМЕННО ПО ПРИЧИНЕ ДАННОЙ ПРОБЛЕМЫ, и в том числе из-за желания формировать сообщения "на лету".
мы выясняли (только чур не драться!!!) у меня IB6
еще раз - помнить, что там где выясняли в совершенно другом топике и сколько лет назад - невозоможно. тем более что на IB6 у большинства присутствующих реакция известно какая. про 1.5 я написал просто напоминание. В данном случае меня не интересует используемый тобой сервер. если в нем есть такая возможность - тебе повезло. нет - не повезло. то есть это твои личные проблемы.
лучше воздержусь от комментариев.мне не нужно динамически генерить exceptions мне нужно просто получить ВСЕ данные указанной таблицы. и ничего более.
лучше не компостируй мозги...

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

Сообщение dimitr » 18 фев 2005, 15:54

kdv писал(а):Перекодирования none-win1251 нет, ибо в none может храниться все что угодно.
Его нет начиная с FB 1.5.1 ;-) Раньше местами встречалось.

Plumbum
Сообщения: 10
Зарегистрирован: 31 янв 2005, 10:48

Сообщение Plumbum » 20 фев 2005, 20:21

странно, но IBExpert ведь вытаскивает.

Правда если напрямую выполнять запрос - результат как у меня.
Но всетаки я могу их прочитать и исправить.
И как ни странно это работает. Или он такой "хитрый", что игнорирует мой коннект с WIN1251 и использует другой?

Ответить