![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обрезание имен UTF-8 при добавлении юзера в IBSecurityService [D6, Firebird 1.5]
kaif © (2006-06-12 21:36:00)При попытке записать фамилии длиннее 8 символов происходит обрезание строки и какая-то закорюка в конце.
with IBSecurityService1 do
begin
ServerName := 'localhost';
LoginPrompt := False;
Params.Add('user_name=sysdba');
Params.Add('password=masterkey');
Active := True;
try
UserName := Edit1.Text;
FirstName := AnsiToUTF8(Edit2.Text);
MiddleName := AnsiToUTF8(Edit3.Text);
LastName := AnsiToUTF8(Edit4.Text);
Caption := LastName;
UserID := StrToInt(Edit5.Text);
GroupID := StrToInt(Edit6.Text);
Password := Edit7.Text;
AddUser;
finally
Active := False;
end;
end;
В то же время IBExpress работает верно - добавляет юзеров и позволяет на русском языке ввести их фамилии и имена.
Надо полагать баг не в Firebird, если только IBExpert не редактирует базу Security.fdb напрямую.
Кто решал эту проболему?
Что делать?
Прошу помощи.
Johnmen (2006-06-12 23:52:00) [1]>kaif ©
А если не перегонять в UTF8? Интересно....
kaif (2006-06-12 23:37:00) [2]Любопытно, что если с помощью IBExpert ввести длинные фамилии (более 8 символов), то обратно они через этот компонент могут быть получены и получены без всякого обрезания.
:)
В общем я замучился. :(
Не буду хранить так имена юзеров.
Суну их в базу.
Заодно снабжу там их адресами и телефонами.
kaif (2006-06-12 23:33:00) [3]Johnmen © (12.06.06 23:27) [1] :)
Да нет, Caption - это я просто забыл убрать из текста. Выводил результат функции в заголовок окна, чтобы убедиться, что она сама не обрезает.
Обрезание видно в IBExpert, когда там смотришь список юзеров с их фамилиями.
Johnmen (2006-06-12 23:27:00) [4]А где ты увидел это обрезание? Нужели в загадочном Caption? :)