Проблема с MEDIUMBLOB

iNfantry

Новичок
Проблема возникла на ровном месте...
Использую подобное поле для записи файла с картинкой в базу.
Всё работало и вдруг перестало, возможно админы какие-то настройки тронули, но сейчас невозможно узнать кто и что сделал, потому спрашиваю здесь.

Не получается записать бинарные данные в это поле. Сначала я подумал что быть может размеры буферов гдето не учел, но дело оказалось не в этом. Не записывается именно куча бинарных символов, например chr(255) или chr(150), обычный текст записывается нормально. Тоесть например

"UPDATE users SET avatar_data='".chr(255)."' WHERE (id='1')" - не работает
"UPDATE users SET avatar_data='".chr(100)."' WHERE (id='1')" - работает (150=='d')

В чем может быть причина?
 

iNfantry

Новичок
CREATE TABLE `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`proof_ext` varchar(3) DEFAULT NULL,
`proof_data` mediumblob,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=441 DEFAULT CHARSET=latin1

proof_ext - расширение картинки
proof_data - сама картинка
 

DiMA

php.spb.ru
Команда форума
кодировки поменять, слова умные типа binary написать не надо? хотя, вроде и так блоб..
 

iNfantry

Новичок
А что кодировки, блоб есть блоб, он никак на это не должен реагировать... В том вся и проблема что непонятно каково х**. ))
Хотя... может тут и есть какая-то особенность, вот только какая - я про блоб уже несколько мануалов глянул, нигде ничего такого ненаписано, есть про нулевой символ и кавычки со слэшами, но почему куча других символов не пишется - нигде не сказано.
 

iNfantry

Новичок
string(3) "[я]"

Я вот подумал, когда аплоадишь файл, пхп же не может ему кодировку менять??
Этож бессмысленно бинарный файл портить то.

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

iNfantry

Новичок
Разобрался в чем дело, проблем с мусклом и медиаблобом как таковым нет, мой собственный двиг для работы с мусклем кое где кодировку портил, проблема решена, тему можно закрыть или удалить. ))
 
Сверху