powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Линтер, как узнать кодировку по умолчанию
5 сообщений из 5, страница 1 из 1
Линтер, как узнать кодировку по умолчанию
    #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
Линтер, как узнать кодировку по умолчанию
    #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
Линтер, как узнать кодировку по умолчанию
    #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
Линтер, как узнать кодировку по умолчанию
    #36538586
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мило :) теневое модерирование в действии
Успехов, Господа
...
Рейтинг: 0 / 0
Линтер, как узнать кодировку по умолчанию
    #36538938
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения, со слепу показалось.
Этот и предыдущий пост можно удалять
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Линтер, как узнать кодировку по умолчанию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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