powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите разобраться с CHECK value
37 сообщений из 37, показаны все 2 страниц
Помогите разобраться с CHECK value
    #39304217
crazypiggy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Есть база созданная в кодировке UTF 8. Создаю домен в Ibexpert с указанием чарсет при подключении UTF 8
Код: sql
1.
2.
3.
4.
5.
CREATE DOMAIN SEX_DOMAIN AS
CHAR(1) CHARACTER SET UTF8
DEFAULT 'М'
NOT NULL
CHECK (value in ('М', 'Ж'))

Выдает ошибку Malformed string. Вроде это значит что данные идут не в юникоде.
Делаю по другому. Подключаюсь с указанием чарсет WIN1251. Домен создается нормально. Теперь пытаюсь в программе занести другое значение в это поле, не попадающее в условие. Вылетает ошибка нарушения check на английском а русские буквы кракозябрами. Подскажите что делать.
Delphi XE и FIBPlus
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304233
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crazypiggy,

если база создана в кодировке UTF8 то указывать чарсет при определении домена не обязательно.

crazypiggyВыдает ошибку Malformed string. Вроде это значит что данные идут не в юникоде.
Скорее всего это обозначает что данные из IBE поступают не в юникоде.

crazypiggyПодключаюсь с указанием чарсет WIN1251.
это зря
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304252
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crazypiggy,

а так не?
Код: sql
1.
2.
3.
4.
5.
CREATE DOMAIN DMN_BOOL AS
SMALLINT
DEFAULT 0
NOT NULL
CHECK (VALUE IN (0,1));
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304255
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дока так не?
Не. Известно же, что полов больше, чем 2. Вроде как 50 и более.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304286
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crazypiggy,

Я тоже считаю, что надо перейти на числа. На клиенте потом понадобится использовать разные языки, три символа и т.д. Вы себе мину замедленного действия готовите.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304321
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanИзвестно же, что полов больше, чем 2.
смотрел недавно фильм, там было "Уважаемые дамы, господа, и те, кто еще не определился!".
KreatorXXI использовать разные языки, три символа и т.д
кстати да. использовать юникод, и вдруг в чек воткнуть русские буквы. Как-то не то.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304334
crazypiggy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Переделал на числа.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304396
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanИзвестно же, что полов больше, чем 2. Вроде как 50 и более
Останется, в случае необходимости, дописать еще 48 цифр. Делов-то ...
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304410
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто в курсе, в 2.5.x будут функции, подобные ASCII_CHAR/ASCII_VAL, но для UNICODE и UTF8?
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304412
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

не надо нести бред. Название ASCII в функция не случайно
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304422
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanНе. Известно же, что полов больше, чем 2. Вроде как 50 и более.Вот только не надо сваливать в кучу sex и gender.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304427
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, не понял, что ты имеешь в виду.
К примеру, есть база, созданная с чарсетом на базе ASCII + интернациональные символы и подключение к этой базе с соответствующим чарсетом, но внутри (в триггере или процедуре) надо создавать и сохранять строки с UTF8. Причем, в стоку UTF8 надо накидывать символы, которых нет в одной из интернациональных кодировок на базе ASCII, но существующие в UNICODE (например, для какой-нибудь хитрой программы выгрузки или отчета, подключающейся к базе с UTF8 и выдергивающей сформированные строки). Как это сделать, не имея функции типа UTF8_VAL()?
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304439
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

смешались в кучу кони, люди...
Зачем ты упоминаешь UNICODE и UTF8 в разных контекстах? Если ты имеешь ввиду кодировку UNICODE_FSS то лучше сразу забудь про неё, т.к. она устарела. В 4.0 наконец-то даже метаданные в UTF-8.

Теперь насчёт UTF8_VAL. Не мог бы ты привести пример что должна вернуть сия функция например для UTF8_VAL('ђ')
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304441
crazypiggy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисcrazypiggy,

если база создана в кодировке UTF8 то указывать чарсет при определении домена не обязательно.

crazypiggyВыдает ошибку Malformed string. Вроде это значит что данные идут не в юникоде.
Скорее всего это обозначает что данные из IBE поступают не в юникоде.

crazypiggyПодключаюсь с указанием чарсет WIN1251.
это зря

А разве так нельзя делать. Я прочитал на сайте IBase
авторЯ могу работать с базой в UTF8 через WIN1251?
Разумеется, для этого достаточно указать чарсет соединения WIN1251. Данные будут идти на сервер в 1251, и автоматически перекодироваться в UTF8 при сохранении (при чтении – перекодироваться обратно в win1251). Это самый легкий вариант начала работы с юникодом. Также это подходящий вариант, если используете Delphi версии 2007 и ниже, и вы не хотите использовать никакие компоненты Unicode (например, tms), но планы перехода на Unicode есть.

Кстати, это не специальная особенность WIN1251 и UTF8. Вы можете использовать любую национальную кодировку точно таким же образом.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304454
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crazypiggy,

1. CREATE DOMAIN это метаданные.
2. Delphi XE прекрасно работает с юникодом. Зачем нужен лишний геморрой?
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304489
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2. Delphi XE прекрасно работает с юникодом.
XE - да, но через UTF-16. Компоненты доступа - с огромным геморроем. По опыту в чарсет соединения проще запихнуть 1251 и не париться. Delphi сама преобразует что сможет.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304493
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, мой предыдущий пост относится в равной степени как к FIBPlus, так и к IBX в Delphi. С UTF8 у меня нормально работать получалось только в Lazarus с переделанными компонентами IBX от Rik.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304494
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любезный,

ну не знаю. Когда писал примерчик на XE5 геморроя с FireDac по поводу UTF8 не было.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304537
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrdb_dev, смешались в кучу кони, люди... Зачем ты упоминаешь UNICODE и UTF8 в разных контекстах?Затем, что UTF8, это тот же UNICODE, но размазанный по нескольким байтам определенным правилом - без всяких таблиц перекодировок символов.
Теперь насчёт UTF8_VAL. Не мог бы ты привести пример что должна вернуть сия функция например для UTF8_VAL('ђ')
Четырехбайтное целое, конечно же. Что же еще?
Вообще, в предыдущем сообщении я немного опечатался и написал UTF8_VAL, подразумевая UTF8_CHAR (это очевидно из контекста).
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304547
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryВот только не надо сваливать в кучу sex и gender.GENDER: male
SEX: regularly
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304599
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devЧетырехбайтное целое, конечно же. Что же еще? Составные символы кириллицы .
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304756
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

не вижу там Б, В...
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39304832
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devбудут функции, подобные ASCII_CHAR/ASCII_VAL, но для UNICODE и UTF8?
наверное, пока только через костыли.

Я у себя в процедуре, когда понадобилось проверять символ на принадлежность к кириллице, тупо использовал строку с кириллическими cимволами и функцию POSITION.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305363
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvне вижу там Б, В...Там есть "йо" и "иван-краткий"
Только важно не это, а то, что составные символы - реальность юникода, данная нам в стандартных таблицах.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305371
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovважно не это, а то, что составные символы - реальность юникода, данная нам в стандартных
таблицах.

Но при этом все (включая саму Windows) воспринимают составные символы как два символа, а
не один.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305372
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНо при этом все (включая саму Windows) воспринимают составные символы как два символа, а не один.Вот только не надо мешать в одну кучу кодовые точки (просто числа) и символы, состоящие из одной или нескольких кодовых точек.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305383
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий, не ломай людЯм мозг! ;)
чтобы с тобой дискутировать на тему юникода,
нужно сперва насытить мозг информацией.
об этом самом юникоде.
не на уровне "банальной эрудиции",
а гораздо глубжее...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305387
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, собственно, rdb_dev отвечал на его хотелку.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305401
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Basil A. Sidorov!
You wrote on 7 сентября 2016 г. 17:43:00:

Basil A. Sidorov> Я, собственно, rdb_dev отвечал на его хотелку.он даже не понял что именно ты хотел этой талдыцей сказать ;)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305415
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийон даже не понял"Проблемы шерифа индейцев не волнуют".
Именно в такой формулировке.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305930
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЯ, собственно, rdb_dev отвечал на его хотелку.
И что это меняет в связи с представление UNICODE в UTF8? Это как-то скажется на алгоритм работы функции UTF8_CHAR? Функция не сможет размазать указанный во входном параметре код UNICODE символа по нескольким байтам с учетом алгоритма формирования UTF8? :)
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39305994
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devФункция не сможет размазать указанный во входном параметре код UNICODE символа по нескольким байтам с учетом алгоритма формирования UTF8? :)И вам не путать кодовые точки (просто числа), символы (последовательность одной или нескольких кодовых точек) и кодирование кодовых точек в байтовые последовательности .
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39306169
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКогда писал примерчик на XE5 геморроя с FireDac по поводу UTF8 не было.
Про FireDAC сказать не могу - дороговато для меня, как и Дельфя Ынтырпрайз. А то, что есть проблемы с FIBPlus - это, увы, клинический факт.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39354029
Фотография alex_p_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crazypiggy,
Я, конешно, дико извиняюсь, но нафига такие сложности? Полов всего два, других вариантов нет - это тупо тип boolean, т.е. ДА или НЕТ (у меня было true=M, false=Ж). Ну, или можно заюзать int - 0 или 1 (с тем же смыслом, 1=М, 0=Ж). И никаких МЭ-ЖО, доменов и пр. :)
Всю жизнь так делаю - и норм :)
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39354258
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ога.)


Полный перечень вариантов половой принадлежности от Facebook:
1. Agender — бесполый.
2. Androgyne — андроген, гермафродит.
3. Androgynous — мужеженственный (внутренне, по ощущениям).
4. Bigender — ощущающие себя попеременно то мужчиной, то женщиной.
5. Cis (лат.) — «пред-» или «недо-».
6. Cis Female — недоженский.
7. Cis Male — недомужской.
8. Cis Man — недомужчина.
9. Cis Woman — недоженщина.
10. Cisgender — недополовой (неопределенного пола).
11. Cisgender Female — недополовой, ближе к женскому.
12. Cisgender Male — недополовой, ближе к мужскому.
13. Cisgender Man — недополовой мужчина.
14. Cisgender Woman — недополовая женщина.
15. Female to Male — от женского к мужскому.
16. FTM — женщина, хирургически и внешне принявшая облик мужчины.
17. Gender Fluid — неустойчивый, «текучий».
18. Gender Nonconforming — отрицающий традиционную классификацию.
19. Gender Questioning — пол, остающийся под вопросом.
20. Gender Variant — пол, допускающий различные варианты.
21. Genderqueer — особенный (своеобычный) пол.
22. Intersex — межполовой (универсальный).
23. Male to Female — от мужчины к женщине.
24. MTF — мужчина, хирургически и внешне принявший облик женщины.
25. Neither — никакой.
26. Neutrois — стремящийся устранить внешние половые признаки.
27. Non-binary — отрицающий систему двух полов.
28. Other — другой.
29. Pangender — всеобщеполовой.
30. Trans — переходное состояние (к другому полу).
31. Trans Female — переходный к женскому состоянию.
32. Trans Male — переходный к мужскому состоянию.
33. Trans Man — переходный к мужчине.
34. Trans Person — переходный к лицу вне половой классификации.
35. Trans Woman — переходный к женщине.
36. Trans (asterisk) — переходный (с сохранением тайны).
37. Trans (asterisk) Female — переходный к тайному женскому состоянию.
38. Trans (asterisk) Male — переходный к тайному мужскому состоянию.
39. Trans (asterisk) Man — тайное превращение в мужчину.
40. Trans (asterisk) Person — тайное превращение в лицо без пола.
41. Trans (asterisk) Woman — тайное превращение в женщину.
42. Transexual — транссексуал.
43. Transexual Female — женский транссексуальный тип.
44. Transexual Male — мужской транссексуальный тип.
45. Transexual Man — мужчина-транссексуал.
46. Transexual Person — персона-транссексуал.
47. Transexual Woman — женщи-на-транссексуал.
48. Transgender Female — женский трансгендерный тип.
49. Transgender Male — мужской трансгендерный тип.
50. Transgender Man — мужчина-трансгендер.
51. Transgender Person — персона-трансгендер.
52. Transgender Woman — женщина-трансгендер.
53. Transmasculine — «за пределами мужского».
54. Two-spirit — «двудушный», двуликий (без негативной коннотации).
55. Man — мужчина.
56. Woman — женщина
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39354275
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exteris, ощущение, как будто читаю оглавление медицинского справочника по психиатрии.
...
Рейтинг: 0 / 0
Помогите разобраться с CHECK value
    #39354355
Фотография alex_p_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exteris,
Тю, тогда ещё проще - вынести в отдельную таблицу tblGenders (Gender_ID, Gender_Name) и юзать линк на её ID :-)
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите разобраться с CHECK value
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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