|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
Господа подскажите пожалуйста как и возможно ли вообще задать перекодировку данных при получении ? База , предположительно содержит данные в кодировке ISO-8859-1(лягушатники). В RDB$CHARACTER_SET_NAME NULL. используя IBpp возможно указать , что бы данные возвращались в utf-8? Я так понимаю, что здесь аргумент задаёт только как общается Ibpp c сервером. Код: plaintext 1.
как задать в какой кодировке находятся данные? или мучатся с перекодированием внутри программы? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 12:18 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
25.08.2021 12:18, pepelxl пишет: > как задать в какой кодировке находятся данные? > или мучатся с перекодированием внутри программы? если в базе NONE, то это жопа. с большой буквой Ж. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 12:31 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
pepelxlВ RDB$CHARACTER_SET_NAME NULL. У кого? У базы или у конкретных полей с данными? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 13:01 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
Прошу прощения, я совсем далёк от субд. В RDB$DATABASE колонка RDB$CHARACTER_SET_NAME содержит NONE Но в IBexpert если нажать на три точки в данных - отображается правильная строка в utf8 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 13:21 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
pepelxlПрошу прощения, я совсем далёк от субд. Ну так или приблизься или "отойди и ничего не трогай". pepelxlВ RDB$DATABASE колонка RDB$CHARACTER_SET_NAME содержит NONE Это ничего не значит. Покажи DDL конкретной таблицы из того самого IBExpert. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 13:24 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
У самих полей тоже стоит NONE ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 13:24 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
pepelxlБаза , предположительно содержит данные в кодировке ISO-8859-1(лягушатники). pepelxlв IBexpert если нажать на три точки в данных - отображается правильная строка в utf8 pepelxlУ самих полей тоже стоит NONE Как минимум одно из этих утверждений ложно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 13:33 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
pepelxl возможно ли вообще задать перекодировку данных при получении ? 1. Для этого данные в столбце должны соответствовать описанию в метаданных. 2. Кодировка none в описании столбца ставит на перекодировании сервером жирный крест. 3. Если исполнен пункт 1, то сервер автоматом перекодирует данные в чарсет коннекта (если таковая перекодировка возможно в принципе, в утф8 из не юникода все вполне себе перекодируется). pepelxl мучатся с перекодированием внутри программы? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 13:35 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
Я туповат, но понимаю куда все клонят, кроме этого: Ivan_Pisarevsky можно запрос каждого строкового поля обрамить cast-ом в требуемую кодировку, DDL/******************************************************************************/ /*** Generated by IBExpert 25.08.2021 13:54:16 ***/ /******************************************************************************/ /******************************************************************************/ /*** Following SET SQL DIALECT is just for the Database Comparer ***/ /******************************************************************************/ SET SQL DIALECT 3; /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE TABLE PARAM ( PARID INTEGER NOT NULL, PARLIBMP VARCHAR(1024), PARLIBUNIT VARCHAR(1024), PARDISC BOOL /* BOOL = SMALLINT DEFAULT NULL CHECK (VALUE IN (0,1) OR VALUE IS NULL) */, PARVALMIN FLOAT, PARVALMAX FLOAT, PARNAME VARCHAR(64), PARAIDE VARCHAR(1024), PARFORMAT VARCHAR(5), PARIDCONF SMALLINT, PARAIDEVAL VARCHAR(1024), PARAIDEMODE TPMAIDEMODETYPE /* TPMAIDEMODETYPE = VARCHAR(16) DEFAULT NULL CHECK (VALUE IN ('ONSCREEN', 'POPUP', 'XMLFILE') OR VALUE IS NULL) */, PARAIDEFILE VARCHAR(32), PARGRAPHICDISPLAY BOOL /* BOOL = SMALLINT DEFAULT NULL CHECK (VALUE IN (0,1) OR VALUE IS NULL) */, PARFORMATMATCH VARCHAR(128), PARFORMATREPLACE VARCHAR(128), PARFORMATTYPE VARCHAR(32) ); /******************************************************************************/ /*** Primary keys ***/ /******************************************************************************/ ALTER TABLE PARAM ADD CONSTRAINT PK_PARAM PRIMARY KEY (PARID); /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX IX_PARAM_PARNAME ON PARAM (PARNAME); /******************************************************************************/ /*** Privileges ***/ /******************************************************************************/ однако как ibexpert узнаёт из чего строить? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:06 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
pepelxl однако как ibexpert узнаёт из чего строить? Из системных таблиц. База-то большая? Сколько данных/метаданных? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:12 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
Ну, честно слово - не знаю вашего сленга. 79 таблиц, 500MB. много мало это? Мне надо, найти несколько зависимостей и сделать выборку. Сейчас установил charset на нужную колонку, получил в IBpp правильные строки. Однако если получится в конце что то дельное , то хотел бы выбросить прогу на профильный форум, соответственно люди не будут заниматься лазаньем и редактированием баз. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:30 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
pepelxl Я туповат, но понимаю куда все клонят, кроме этого: Ivan_Pisarevsky можно запрос каждого строкового поля обрамить cast-ом в требуемую кодировку, Присоединюсь к версии ДС, что данные в базе уже в утф, а не в однобайтной кодировке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:36 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
pepelxlОднако если получится в конце что то дельное , то хотел бы выбросить прогу на профильный форум, соответственно люди не будут заниматься лазаньем и редактированием баз. Почему бы не обратиться к хозяину базы? Нет, я понимаю, что она скорее всего сворованная, но вдруг... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:37 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
Вариант лечения базы не рассматривается? Или она уже растиражирована? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:38 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky Присоединюсь к версии ДС, что данные в базе уже в утф, а не в однобайтной кодировке. На скриншоте видно, что там не utf8. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:38 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
pepelxl 79 таблиц, 500MB. много мало это? pepelxl Сейчас установил charset на нужную колонку, получил в IBpp правильные строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:39 |
|
FB2.5.0 + ibpp + set charset
|
|||
---|---|---|---|
#18+
Это базы автомобильной диагностики, поэтому автор на связь не выйдет, а хочется сделать со своим авто чуть больше, чем дают менюшки штатного приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2021, 14:47 |
|
|
start [/forum/topic.php?fid=40&msg=40093113&tid=1559951]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 160ms |
0 / 0 |