powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / UTF8: трабл показа данных поля, опр-го через коллацию с атрибутами "pad space + ci + ai"
6 сообщений из 6, страница 1 из 1
UTF8: трабл показа данных поля, опр-го через коллацию с атрибутами "pad space + ci + ai"
    #38831452
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

Закрадываются смутные сомнения, что UTF8-коллация с атрибутами "PAD SPACE, CASE INSENSITIVE, ACCENT INSENSITIVE" может работать "как-то не очень".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SQL> show collation  co_utf8_ci_ai ;
CO_UTF8_CI_AI, CHARACTER SET UTF8, FROM EXTERNAL ('UNICODE'), PAD SPACE, CASE INSENSITIVE, ACCENT INSENSITIVE, 'COLL-VERSION=49.192.5.41'

SQL> show domain  dm_utf8_ci_ai ;
DM_UTF8_CI_AI                   VARCHAR(90) CHARACTER SET UTF8 Nullable
                                 COLLATE  CO_UTF8_CI_AI 

SQL> create table t1(text varchar(90), lang varchar(3)); commit;
SQL> create table  t2 (text  dm_utf8_ci_ai , lang varchar(3)); commit;

SQL> insert into t1(text, lang) values('c точки зрения банальной эрудиции, каждый индивидуум,', 'rus');
SQL> insert into t1(text, lang) values('цинизм помыслов которого ассоциирует', 'rus');
SQL> insert into t1(text, lang) values('концепции парадоксальных иллюзий,', 'rus');
SQL> insert into t1(text, lang) values('просто не может не игнорировать критерии утопического субъективизма', 'rus');
SQL> commit;
SQL> insert into t2(text, lang) values('c точки зрения банальной эрудиции, каждый индивидуум,', 'rus');
SQL> insert into t2(text, lang) values('цинизм помыслов которого ассоциирует', 'rus');
SQL> insert into t2(text, lang) values('концепции парадоксальных иллюзий,', 'rus');
SQL> insert into t2(text, lang) values('просто не может не игнорировать критерии утопического субъективизма', 'rus');
SQL> commit;


Теперь делаю:
Код: plaintext
SQL> select * from t1; -- всё ОК, выводит "выровненно" и читабельно.
Код: plaintext
SQL> select * from t2;  -- гляньте в картику. 

Что это ?
...
Рейтинг: 0 / 0
UTF8: трабл показа данных поля, опр-го через коллацию с атрибутами "pad space + ci + ai"
    #38831484
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

в IBE проверь. Мне кажется это косяк форматирования вывода ISQL
...
Рейтинг: 0 / 0
UTF8: трабл показа данных поля, опр-го через коллацию с атрибутами "pad space + ci + ai"
    #38831537
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

чарсет базы точно UTF8? Ибо в T1 я вижу VARCHAR(90) без указания чарсета.

ЗЫ. коллейт на вывод никак влиять не должен, как и на чтение из таблицы
...
Рейтинг: 0 / 0
UTF8: трабл показа данных поля, опр-го через коллацию с атрибутами "pad space + ci + ai"
    #38831543
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrТаблоид,

чарсет базы точно UTF8? Ибо в T1 я вижу VARCHAR(90) без указания чарсета.

ЗЫ. коллейт на вывод никак влиять не должен, как и на чтение из таблицы

Да, чарсет стопудово УТФ8:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$ /opt/fb30trnk/bin/isql localhost/3333:/var/db/fb30/utf8fb30w.fdb -ch utf8
Database:  localhost/3333:/var/db/fb30/utf8fb30w.fdb
SQL> show database;
Database: localhost/3333:/var/db/fb30/utf8fb30w.fdb
        Owner: SYSDBA
PAGE_SIZE 16384
Number of DB pages allocated = 4286
Sweep interval = 20000
Forced Writes are ON
Transaction - oldest = 194
Transaction - oldest active = 195
Transaction - oldest snapshot = 195
Transaction - Next = 198
ODS = 12.0
Default Character set:  UTF8 

А вывод из этой самой 't2' после переконнекта стал еще веселее:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SQL> select * from t2;

TEXT                                                                                                                                                                                                                                                                                                                                                                     LANG
=============================================================================== ======
c точки зрения банальной эрудиции, каждый индивидуум,                                                                                                                                                                                                                                                                        rus
цинизм помыслов которого ассоциирует                                                                                                                                                                                                                                                                                                    rus
концепции парадоксальных иллюзий,                                                                                                                                                                                                                                                                                                          rus
просто не может не игнорировать критерии утопического субъективизма                                                                                                                                                                                                                                          rus

SQL> set width text 90;
SQL> select * from t2;

TEXT                                                                                       LANG
=============================================================================== ======
c точки зрения банальной эрудиции, каждый индивид rus
цинизм помыслов которого ассоциирует                      rus
концепции парадоксальных иллюзий,                            rus
просто не может не игнорировать критерии утопиче rus
...
Рейтинг: 0 / 0
UTF8: трабл показа данных поля, опр-го через коллацию с атрибутами "pad space + ci + ai"
    #38831546
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТаблоид,

в IBE проверь. Мне кажется это косяк форматирования вывода ISQLв ИБЭ мне не надо. К тому же, я оттудова из грида вообще ничего скопировать не могу УТФ-ного (см в его подфорум).
...
Рейтинг: 0 / 0
UTF8: трабл показа данных поля, опр-го через коллацию с атрибутами "pad space + ci + ai"
    #38831589
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЧто это ?Насколько я могу судить, линуксовая utf8-консоль глюкает на редактировании символов: если начать пользоваться "забоем", будут характерные блоки псевдографики со скриншота. Дефект чисто визуальный.

P.S. У меня сложилось ощущение, что безглючной юникодной текстовой консоли пока не сделали.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / UTF8: трабл показа данных поля, опр-го через коллацию с атрибутами "pad space + ci + ai"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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