Я использую PHP PDO:
$statement = $connection->prepare("UPDATE item SET description = :desc WHERE id = :item_id");
$statement->execute([':desc' => 'Текст на русском и английском с элементами html большой длины (mediumText)', ':item_id' => 26]);
При выполнении данного запроса происходит ошибка:
SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\x81<sup>...' for column 'description' at row 3
. В логах запроса я обнаружил что по какой-то причине данные уже передаются в таком виде:
{":item_id":26, ":desc":"(binary value)"}
, т.е. непонятно почему описание становится binary value, именно поэтому и происходит ошибка при выполнения запроса, т.к. в бд поле имеет тип данных MediumText, и binary принимать не может. Как это можно исправить?
P.S. При вставке данных напрямую в бд, без PDO, все работает.