Я использую 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, все работает.
Никакого "преобразования" в "binary" при выполнении запроса не происходит.
В сообщениях об ошибке / логах нестандартные символы кодируются для большей совместимости.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите пожалуйста, есть n-ое количество inputОно всегда разное, может быть 1, может быть 20
Требуется сделать регистрацию+авторизацию в мобильном приложении через соцсети или через емейл на удалённом REST API сервере (я отвечаю именно...
Данный вопрос является точным дубликатом:
Сорян за нубовские вопросы, но решения не нашелВникаю в разработку REST API, использую PHP STORM + MAMP Файл index