Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.27;
Скачать: CL | DM;

Вниз

Как добавить в системную таблицу isc4.gbd кирилицу?   Найти похожие ветки 

 
Roki   (2003-03-05 11:43) [0]

Мастера, при попытке записать данные о пользователе(ФИО) кирилицей выскакивает ошибка:
...
cannot transliterate character beetwen character set.


 
Val   (2003-03-05 11:46) [1]

какой character set у базы?


 
y-soft   (2003-03-05 11:59) [2]

При подсоединении к базе надо явно указывать кодовую страницу


 
Roki   (2003-03-05 12:00) [3]

isc4.gdb ?
DEFAULT CHARACTER SET WIN1251;


 
gek   (2003-03-05 12:04) [4]

См
y-soft © (05.03.03 11:59)


 
Roki   (2003-03-05 12:28) [5]

Я использую IBSecurityService для добавления юзера там нет акой опции как lc_ctype=WIN1251. Что делать?


 
OlegE   (2003-03-05 12:30) [6]

2 y-soft © (05.03.03 11:59)
2 gek © (05.03.03 12:04)
Прежде чем советовать нужно или знать или хотя-бы проверить что советуешь -:)))

2 Roki
Я пробовал даже пересоздавать isc4.gdb с нужной кодировкой, пока никаких утешительных результатов. Просьба, если удастьтя найти решение, напиши, пожалуйста на SEP@UkrSibbank.com.


 
Roki   (2003-03-05 12:32) [7]

У меня получается добавлять через IBManeger русские именна и фамилии, но вот программно пока никак, пришлось свою таблицу создать и там хранить кирилицу


 
Val   (2003-03-05 14:15) [8]

как видно из скриптов выгруженных метаданных, у разных столбцов таблицы users, например - разные character set, указанные непосредственно.
Например у user_name - ascii. меняем чарсет и можем вносить русские наименования.


 
y-soft   (2003-03-08 14:16) [9]

>OlegE © (05.03.03 12:30)

В этом форуме как-то не принято давать готовые решения, но после такой сердитой отповеди ничего не остается, как расшифровать свой ответ:)

Установленный по умолчанию ASCII жестко ограничивает ввод диапазоном #32..#127. Переопределять нужно не кодовую страницу и порядок сортировки поля USER_NAME, а непосредственно домен USER_NAME, причем непосредственно править системные таблицы, а не пытаться вызывать ALTER DOMAIN.

Далее, если мы поключимся к ISC4.gdb, указав новый charset, то непосредственная запись в таблицу USERS уже не будет вызывать никаких сложностей. Алгоритм шифровки паролей DESX задокументирован, так что шифровка также не будет представлять трудности.

Введенные таким мудренным образом пользователи будут показываться всеми системными утилитами в списке зарегистрированных, только вот беда - ни создать новую базу от имени такого пользователя, ни залогинится под ним не удасться, т.к. пресловутая кодировка ASCII жестко зашита и в ServerManager, и в gsec в параметрах соединения с ISC4.gdb:(

Ну и последнее - зачем нужны пользователи с кириллическими логинами? Не проще ли указывать кириллические ФИО в полях FIRST_NAME, MIDDLE_NAME, LAST_NAME (кодировка UNICODE_FSS это очень даже позволяет), а в USER_NAME указывать сгенерированный при регистрации уникальный англоязычный логин. Давать пользователю непосредственный доступ к таблицам - весьма неблагоразумно, поэтому обычно пишут промежуточный диалог, в котором пользователь выбирает ФИО на родном языке и пароль, а потом производится поиск по этим данным и при соединении подставляется соответствующий им логин.

Описанное проверено еще во времена 16-разрядных приложений и IB 4.2



Страницы: 1 вся ветка

Текущий архив: 2003.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
1-88046
АлександрК
2003-03-14 18:15
2003.03.27
StrToDate


3-87865
Jaxtor
2003-03-06 15:20
2003.03.27
Доступ к значению генератора


1-88015
Sergey_
2003-03-13 18:57
2003.03.27
String в PChar


8-88093
DenKop
2002-12-18 02:13
2003.03.27
Связь уровня звука с dB.


14-88153
NightCold
2003-03-10 19:58
2003.03.27
Посетите мой сайт WWW.NSISOFT.BU.RU





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский