|
|
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
Есть бд на firebird3. Программа записывает данные из файла или из memo в blob и обратно- читает из blob в мемо. В бд есть 2 блоб поля: blob_Binary(subtype=0) и Blob_Text(subtype=1,utf-8). Кодировка везде Utf-8. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. end; Когда ввожу текст в мемо на англииском, русском и грузинских языках, вместо грузинских букв в блобах сохраняются кракозябры и иэроглифы (см скрин), хотя при чтении блобы нормально читаются и в обоих мемо отображаются исходные тексты. И иногда, без всяких закономерностей, при чтении текстового блоба выводит такую ошибку: авторEEncodingError 'No mapping for the unicode character exists in the target multi-byte code page' Что делаю неправильно при сохранении данных в блобах, чтобы текстовый блоб был читабельным и как избегать эту ошибку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 03:35 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
кодировка бд и таблицы utf-8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 03:36 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
такие иероглифы сохраняются в обоих блобах, но при чтений в мемо правильно отображается исходный текст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 03:41 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
так сохраняется текстовый файл в обоих блобах. Текст файла видно в мемо1 и мемо2, внизу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 03:46 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
bastibubu, Версию Delphi озвучьте и какие компоненты доступа используете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 07:45 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
В самом приложении, в настройках подключения к базе, надеюсь, кодировку UTF8 указываешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 09:56 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
bastibubuЧто делаю неправильно при сохранении данных в блобах, чтобы текстовый блоб был читабельным и как избегать эту ошибку? если напрямую в IBE редактировать тексты блобов, кракозябров нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 10:20 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
12.02.2019 3:35, bastibubu пишет: > Есть бд на firebird3. Программа записывает данные из файла или из memo в blob и обратно- читает из blob в мемо. какие компоненты доступа? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 12:13 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
X11В самом приложении, в настройках подключения к базе, надеюсь, кодировку UTF8 указываешь? Да, конечно. (см скрин) Мимопроходящийкакие компоненты доступа? FireDac. fdQuery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 13:48 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 13:49 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
12.02.2019 13:48, bastibubu пишет: > FireDac. fdQuery тряси Арефьева. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 13:49 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
Докесли напрямую в IBE редактировать тексты блобов, кракозябров нет? в текстовом нормально читается, в бинарном-нет (см. скрин) goldmi45 Версию Delphi озвучьте и какие компоненты доступа используете. Delphi 10.2.3, компоненты FireDac (fdQuery) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 13:56 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийтряси Арефьева я бы и Хвастунову еще написал. У него тоже встречаются "неюникодные" таблички ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 15:30 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
bastibubuX11В самом приложении, в настройках подключения к базе, надеюсь, кодировку UTF8 указываешь? Да, конечно. (см скрин)Попробуй указать в настройках соединения FireDac (и только там) UTF-16 Кроме того, к полю текстового блоба можно обращаться через AsString ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 15:54 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Попробуй указать в настройках соединения FireDac (и только там) UTF-16 _Vasilisk_ , нет в комбо такой кодировки _Vasilisk_к полю текстового блоба можно обращаться через AsString При записи или чтении? Напишите, пожалуйста, что вы имеете в виду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 16:37 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
bastibubuнет в комбо такой кодировкиUNICODE_LE bastibubu_Vasilisk_к полю текстового блоба можно обращаться через AsStringПри записи или чтении? Напишите, пожалуйста, что вы имеете в видуВместо bastibubu Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 16:58 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
bastibubuв текстовом нормально читается, в бинарном-нет (см. скрин) потому что средствами IBE в бинарный блоб текст записывается как ANSI, а в текстовый блоб как UTF8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 17:38 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ , работает в случае Blob_Text( и хранит и выводит правильно) а вот в случае бинарного- хранит как иероглифы(ANSI?) хотя выводит нормально. :) Код записи в blob_binary: Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 18:57 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, перепутал с кодом. Это код записи в blob_binary из внешнего текстового файла: Код: pascal 1. 2. 3. в blob_binary получаю иероглифы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 20:27 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
нет, не в бинарном блобе а в blob_text получаю иероглифы. Сильно запутался. :) Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 20:36 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
https://en.wikipedia.org/wiki/Mojibake#Caucasian_languages хотя ничем знание причины не помогает поскольку все уже пробовал и перепроверял. Ж( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 03:00 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
bastibubuв blob_binary получаю иероглифы blob_binary не предназначен для хранения текста. Он предназначен для хранения бинарных данных. Т.е. какие байты туда записали, те же байты и прочитали. Вне зависимости от настроек кодировок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 14:24 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_bastibubuв blob_binary получаю иероглифы blob_binary не предназначен для хранения текста. Он предназначен для хранения бинарных данных. Т.е. какие байты туда записали, те же байты и прочитали. Вне зависимости от настроек кодировок _Vasilisk_ , это я понимаю. Дело в том, что когда я тестировал ваше предложение, оказалось что текстовый файл был в кодировке utf-BOM. В этом случае файл в memo был нормально прочитан но как поменял utf-BOM на utf уже выводил иероглифы Ansi. А мне нужно, наоборот, файл создать в utf поскольку везде кодировка utf (и в бд и в таблице, и в FireDac Connection Definition). И что главное- как быть с китайскими иероглифами в blob_text? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 14:52 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
Файл бинарный? Используйте BLOB BINARY и Load/SaveStream Файл текстовый? Используйте BLOB TEXT и AsString. Ничего другого мудрить не нужно. Что не получится из этих рекомендаций - спрашивайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 15:40 |
|
||
|
Кракозябры и иероглифы при чтении и записи из текстового файла или Memo в blob и обратно
|
|||
|---|---|---|---|
|
#18+
bastibubuИ что главное- как быть с китайскими иероглифами в blob_text? "Ох, уж эти сказки ...." © Я же говорю, стучись к Хвастунову. У него грид кракозябры, вероятнее всего, отображает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 16:48 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39772809&tid=2039795]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
92ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 540ms |

| 0 / 0 |
