Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Линтер, как узнать кодировку по умолчанию / 5 сообщений из 5, страница 1 из 1
22.03.2010, 14:22
    #36534578
dr.Offspring
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Линтер, как узнать кодировку по умолчанию
В документации нашёл операторы по установки кодировки по умолчанию
Код: plaintext
1.
2.
SET NAMES
SET DATABASE NAMES
SET DATABASE DEFAULT CHARACTER SET
А функций по определения текущей кодировки по умолчанию в документации не обнаружил... :(
Запросы:
Код: plaintext
1.
SELECT GETWORD("$$$S14",  109 ) FROM "$$$SYSRL" WHERE "$$$S11"= 0 ;
SELECT GETWORD("$$$S14",  127 ) FROM "$$$SYSRL" WHERE "$$$S11"= 0 ;
Всегда возвращают 0. Хотя по идее должно возвращаться 4, т.к.
Код: plaintext
SELECT "IDENT" FROM "$$$CHARSET" WHERE "NAME" = 'CP1251';
Возвращает 4.
Может, я не правильно посчитал смещение? Или есть другой способ? Что-то не соображу...
...
Рейтинг: 0 / 0
22.03.2010, 20:20
    #36535553
ЮВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Линтер, как узнать кодировку по умолчанию
dr.Offspring...Может, я не правильно посчитал смещение?

Ход мысли был правильный.
К сожалению, символьные смещения в структуре (в виде некоего макроса или define) , описываюшие характеристики БД, почему-то в дистрибутиве нет.
А при ручном подсчете можно и ошибиться...

Для версии 6.0 и выше:

нижеследующий запрос возвращает две кодировки:
кодировка БД по умолчанию и пользовательская кодировка по умолчанию:

select getword($$$s14,116) as CHARSET_OF_SYSTEM_DICTIONARY, getword($$$s14,134) as DEFAULT_USER_CHARSET from $$$sysrl where rowid=1;

Первая кодировка (кодировка БД по умолчанию) устанавливается командой
SET DATABASE NAMES <имя кодировки>,

вторая (пользовательская кодировка по умолчанию) - командой
SET DATABASE DEFAULT CHARACTER SET <имя кодировки>.
...
Рейтинг: 0 / 0
23.03.2010, 12:21
    #36536566
dr.Offspring
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Линтер, как узнать кодировку по умолчанию
ЮВ,

Большое спасибо! Работает...

Код: plaintext
SELECT 'Linter_' + "NAME" AS CHARSET_NAME FROM "$$$CHARSET" WHERE "IDENT" IN (SELECT GETWORD("$$$S14",  134 ) AS DEFAULT_USER_CHARSET FROM "$$$SYSRL" WHERE ROWID =  1 )
...
Рейтинг: 0 / 0
24.03.2010, 09:22
    #36538586
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Линтер, как узнать кодировку по умолчанию
Мило :) теневое модерирование в действии
Успехов, Господа
...
Рейтинг: 0 / 0
24.03.2010, 11:22
    #36538938
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Линтер, как узнать кодировку по умолчанию
Прошу прощения, со слепу показалось.
Этот и предыдущий пост можно удалять
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Линтер, как узнать кодировку по умолчанию / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]