LINUX.ORG.RU

QT4.0.1 + Postgres + BLOB


0

0

Дано:
QT 4.0.1
PostgreSQL 8.0.3

Задача:
Хранить в базе картинки в формате PNG.

И вот что получается, данные в базу вставляются не правильно, во всяком случае уже в базе байт со значением 0x9B оказывается 0xDF, что за бред не пойму...
anonymous

Зачем ты хранишь в базе картинки? Ты собираешься делать поиск по содержимому картинки?

anonymous
()
Ответ на: комментарий от anonymous

PostgreSQL кластер с каой кодовой страницей создан? psql -l ??? Клиент работает в UNICODE? скорее всего идет перекодировка

anonymous
()

Поиск мне не нужен, но картинки хранить нужно, я уже начитался очень много флейма по этому поводу, но ни одного достаточного аргумента за и против так и не увидел.

Сервер работает с юникодом, клиент тоже. Я даже пытался вручную перекодировать с помощью encode/decode функций, всё равно таже лажа!

anonymous
()
Ответ на: комментарий от anonymous

т е у тебя на клиенте стоит после подключения к БД SET CLIENT ENCODING 'UNICODE' ??? Или у тебя локль юникодовая?

anonymous
()
Ответ на: комментарий от anonymous

И вывод psql -l сюда неплохо бы все-таки ...

anonymous
()
Ответ на: комментарий от anonymous

один из аргументов в пользу картинки-в-базе это удобство: все в одном месте, удобно траспортировать, но это аргумент не работоспособен, мы на практике так сделали в одном проекте, потом пришлось отказатся так как база стала очень огромной и труднотранспортабельной. тачто имхо все таки в базе хранить картинки нах не надо, ну или только если база использует правильный механизм хранение больших объектов, как в оракле например (создается только линк а фазически файлом завпрялет ФС) в постгресе честно говоря незнаю как это организовано.

Jik
()

Какой тип поля в базе используется для хранения? На чем основан рассказ про значения байт - какие функции (лучше полностью запросы) использовались?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.