powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / JDBC + JAVA + blob поле
10 сообщений из 10, страница 1 из 1
JDBC + JAVA + blob поле
    #39027779
msam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть поле в базе

valueblob tblobtext

CREATE DOMAIN TBLOBTEXT AS
BLOB SUB_TYPE 1 SEGMENT SIZE 4096 CHARACTER SET WIN1251;

Тип возвращаемого поля на JAVA - String следовательно кодировка UTF16. Значение строки содержит ошибку.
В этой строке русская "И" перекодирована не верно.

Как можно это победить?

С полями типа varchar проблем нет.
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027790
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msam,

а сразу БД в UTF8 создать было нельзя?
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027794
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё версия сервера. Чарсет базы и чарсет коннекта какой?
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027825
msam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
база 1251
коннект 1251

Остальные символы кодируются нормально. Только большая буква И.
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027827
msam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FB - 2.5.4. 32 разрядная классик.
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027890
msam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже ситуация проясняется но еще не понятно как более красиво.

Оказывается в это программа да delphi пихает xml который автоматически получается в utf 8.
Что там внутри не знаю может быть ошибка возникает на преобразовании utf 8 в win1251 базы.
Возможно драйвер jdbc не понимает такую странную комбинацию.

Пока решение дурацкое, но работает после получения данных из базы, на java конвертим в массив байт и меняем найденные не правильный коды на правильные - фактически работает, можно было бы на этом и остановиться, но в delphi это просто работает без дополнительных перекодировок и справлений.
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027896
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msam,

если прога написанная на дельфи работает с юникодом. То держать базу в win1251 как минимум странно.
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027907
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msamв delphi это просто работает без дополнительных перекодировок и справлений.

Так назачем вам этот геморрой с Явой?..

Уверен, что поменять чарсет коннекта на utf-8 не поможет?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027926
msam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все совсем не так.

Достал кривой сервер приложений написанный delphi исправить нельзя глюки где то внутри, например утечка памяти, примерно после 1-2 млн запросов память просто заканчивается.

Для решения проблемы написан новый на JAVA который работает быстрее, поддерживает пул соединений с базой и тд. Но иногда всплывают глюки. Все что написано на delphi работает с 1251 но кто то использовал компоненту для работы с xml, которая по умолчанию возвращает данные в unf8 вот такая история.
...
Рейтинг: 0 / 0
JDBC + JAVA + blob поле
    #39027949
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / JDBC + JAVA + blob поле
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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