|
|
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
Досталась мне база FireBird 2.5 с полями кодировкой NONE, где данные отображаются кракозяблями, а должны русскими символами. В в самой базе вроде бы кодировка Win1251, но это не точно. Со структурой базы я делать ничего не могу, записывают в нее несколько программ и в какой кодировке не понятно. Мне нужно на стороне Delphi 10 переконвертить кодировку и засунуть эти строки в memTable. Как лучше это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:00 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
При просмотре IBExpert'ом в таблице тоже кракозябли. хотя описания таблиц на русском нормально отображаются. Просто кто-то пишет в таблицу в непонятной кодировке, а мне нужно представить это в читаемом виде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:02 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
В IBExpert пробуй в настройках подключения указывать ту или иную кодировку: utf8, win1251, например. Сделай в Delphi простой проект с одной таблицей и в настройках подключения меняй кодировку и смотри, нормально ли стали отображаться данные в DBGrid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:11 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
X11, в IBExpert пробовал utf8, win1251, ничего не меняется. Нужно все кодировки перебрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:18 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
ты хоть пару картинок выложи, может кто визуально отгадает колировку... кстати https://habr.com/ru/post/147843/ или что-то вроде https://2cyr.com/decode/?lang=ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:26 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
cptngrb X11, в IBExpert пробовал utf8, win1251, ничего не меняется. Нужно все кодировки перебрать? Можно попробовать в делфи получить из базы текст, засунуть его в буфер обмена, а потом засунуть в shtirlitz 4 и посмотреть в какой кодировке оно было изначально. Не 100% гарантия что сработает, но вдруг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:28 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
Пока писал, разобрался. Кодировка Win1251 в самой строке, я ее сконвертировал с помощью TEncoding в UTF-8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:29 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
а в самом IBExpert символы нормально не отображаются из-за того, что в таблице намешано несколько кодировок сразу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:51 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
Может, у каждой записи есть какой-то поле, которое определяет кодировку? Ну что это за бред, когда в одном поле таблицы куча кодировок? Получается, что каждая запись в своей какой-то кодировке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 11:57 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
13.11.2020 11:57, X11 пишет: > Ну что это за бред, когда в одном поле таблицы куча кодировок? не бред, а БАРДАК. а бардак, как известно, автоматизировать нельзя! (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 12:18 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
Есть две кодировки: кодировка подключения, которая говорит в какой кодировке данные будут поступать от клиента и в какой кодировке клиент ожидает данные от сервера. И кодировка поля, которая говорит в какой кодировке данные хранятся в этом поле. При общении с клиентом сервер занимается переконвертированием из одной в другую. Кодировки 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, то вы на клиенте получаете просто набор байт, а как их конвертировать в строку - решайте сами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 12:32 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
Бардак, потому что проект древний и развивался долго. Одна программа писала в win1251, следующая в utf8, данных много, а может и по очереди ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 13:32 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
13.11.2020 13:32, cptngrb пишет: > Бардак, потому что проект древний и развивался долго. Одна программа писала в win1251, следующая в utf8, данных много, а может и по очереди Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 13:38 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
cptngrb Бардак, потому что проект древний и развивался долго. Одна программа писала в win1251, следующая в utf8, данных много, а может и по очереди Теперь вы знаете для чего нужны кодировки в БД 😁 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 13:52 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
Несколько вариантов решения проблемы. При чтении научиться программно определять кодировку и использовать события Persistent-столбцов НД для чтения/сохранения данных. Перелить все данные в новую базу, где будет однозначная кодировка. Придется писать свою утилиту. Попробовать отфильтровать, отсортировать данные, чтобы разделить их как-то по кодировкам. В итоге с помощью экспорта/импорта и конвертации перелить данные в новую базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 14:02 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
Х11, не взлетит. тут программист нужен (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 14:04 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
X11 При чтении научиться программно определять кодировку и использовать события Persistent-столбцов НД для чтения/сохранения данных. так и сделал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 14:21 |
|
||
|
FireBird Charset NONE
|
|||
|---|---|---|---|
|
#18+
alekcvp cptngrb Бардак, потому что проект древний и развивался долго. Одна программа писала в win1251, следующая в utf8, данных много, а может и по очереди Теперь вы знаете для чего нужны кодировки в БД 😁 Я знал, что нужно использовать одну, но в первый раз столкнулся с несколькими сразу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2020, 14:38 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40017915&tid=2037867]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 377ms |

| 0 / 0 |
