powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FireBird Charset NONE
19 сообщений из 19, страница 1 из 1
FireBird Charset NONE
    #40017830
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Досталась мне база FireBird 2.5 с полями кодировкой NONE, где данные отображаются кракозяблями, а должны русскими символами. В в самой базе вроде бы кодировка Win1251, но это не точно. Со структурой базы я делать ничего не могу, записывают в нее несколько программ и в какой кодировке не понятно.
Мне нужно на стороне Delphi 10 переконвертить кодировку и засунуть эти строки в memTable. Как лучше это сделать?
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017831
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При просмотре IBExpert'ом в таблице тоже кракозябли. хотя описания таблиц на русском нормально отображаются. Просто кто-то пишет в таблицу в непонятной кодировке, а мне нужно представить это в читаемом виде
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017837
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В IBExpert пробуй в настройках подключения указывать ту или иную кодировку: utf8, win1251, например.

Сделай в Delphi простой проект с одной таблицей и в настройках подключения меняй кодировку и смотри, нормально ли стали отображаться данные в DBGrid.
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017841
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11, в IBExpert пробовал utf8, win1251, ничего не меняется. Нужно все кодировки перебрать?
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017845
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты хоть пару картинок выложи, может кто визуально отгадает колировку...
кстати
https://habr.com/ru/post/147843/

или что-то вроде https://2cyr.com/decode/?lang=ru
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017847
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
X11, в IBExpert пробовал utf8, win1251, ничего не меняется. Нужно все кодировки перебрать?

Можно попробовать в делфи получить из базы текст, засунуть его в буфер обмена, а потом засунуть в shtirlitz 4 и посмотреть в какой кодировке оно было изначально. Не 100% гарантия что сработает, но вдруг.
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017848
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока писал, разобрался. Кодировка Win1251 в самой строке, я ее сконвертировал с помощью TEncoding в UTF-8.
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017859
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в самом IBExpert символы нормально не отображаются из-за того, что в таблице намешано несколько кодировок сразу
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017861
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, у каждой записи есть какой-то поле, которое определяет кодировку?
Ну что это за бред, когда в одном поле таблицы куча кодировок? Получается, что каждая запись в своей какой-то кодировке?
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017867
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13.11.2020 11:57, X11 пишет:
> Ну что это за бред, когда в одном поле таблицы куча кодировок?

не бред, а БАРДАК.

а бардак, как известно, автоматизировать нельзя! (С)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017874
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две кодировки: кодировка подключения, которая говорит в какой кодировке данные будут поступать от клиента и в какой кодировке клиент ожидает данные от сервера. И кодировка поля, которая говорит в какой кодировке данные хранятся в этом поле. При общении с клиентом сервер занимается переконвертированием из одной в другую.

Кодировки OCTETS и NONE говорит, что конвертировать не нужно. Различия между ними такое
There are two specials character sets: NONE and OCTETS.
Both can be used in declarations but OCTETS can't be used in attachment.
They are very similar with the exception that space of NONE is ASCII 0x20 and space of OCTETS is 0x00.

Если у вас поле в базе в кодировке NONE, то вы на клиенте получаете просто набор байт, а как их конвертировать в строку - решайте сами
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017894
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бардак, потому что проект древний и развивался долго. Одна программа писала в win1251, следующая в utf8, данных много, а может и по очереди
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017897
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13.11.2020 13:32, cptngrb пишет:
> Бардак, потому что проект древний и развивался долго. Одна программа писала в win1251, следующая в utf8, данных много, а может и по очереди


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017906
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
Бардак, потому что проект древний и развивался долго. Одна программа писала в win1251, следующая в utf8, данных много, а может и по очереди

Теперь вы знаете для чего нужны кодировки в БД 😁
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017914
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько вариантов решения проблемы.

При чтении научиться программно определять кодировку и использовать события Persistent-столбцов НД для чтения/сохранения данных.

Перелить все данные в новую базу, где будет однозначная кодировка. Придется писать свою утилиту.

Попробовать отфильтровать, отсортировать данные, чтобы разделить их как-то по кодировкам. В итоге с помощью экспорта/импорта и конвертации перелить данные в новую базу.
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017915
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Х11, не взлетит.

тут программист нужен (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017924
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
При чтении научиться программно определять кодировку и использовать события Persistent-столбцов НД для чтения/сохранения данных.


так и сделал
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40017939
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
cptngrb
Бардак, потому что проект древний и развивался долго. Одна программа писала в win1251, следующая в utf8, данных много, а может и по очереди

Теперь вы знаете для чего нужны кодировки в БД 😁


Я знал, что нужно использовать одну, но в первый раз столкнулся с несколькими сразу
...
Рейтинг: 0 / 0
FireBird Charset NONE
    #40018170
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

Эх.... Застрелите меня :( Ну как так можно-то?
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FireBird Charset NONE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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