BLOB конвертируется с использованием текущего / стандартного набора символов в MySQL?
У меня есть таблица с полем BLOB.Кодировка таблицы - Latin1.Я подключаюсь к БД иSET CHARACTER SET UTF8 ".Затем я сохраняю двоичные данные в поле.Затем я получаю данные, и этоне то, что я спас (испорчен).
Код:
exec('SET CHARACTER SET utf8');
$sql = "INSERT INTO pdo_blob (the_blob) VALUES(:the_blob)";
$insertStm = $pdo->prepare($sql);
$blob = (binary) file_get_contents('/home/***/test.pdf');
$insertStm->bindParam(":the_blob", $blob, \PDO::PARAM_LOB);
$insertStm->execute();
$selectStm = $pdo->prepare("SELECT the_blob FROM pdo_blob ORDER BY id DESC LIMIT 1");
$selectStm->execute();
$savedBlob = null;
$selectStm->bindColumn(1, $savedBlob, \PDO::PARAM_LOB);
$selectStm->fetch();
echo 'equal: ' . ((int) ($blob == $savedBlob));