Я ввел $PDO->query('SET NAMES utf8;');
в моем коде библиотеки подключений, чтобы получить соответствие Unicode. Это работает на некоторых хостах, где я могу следить за этим с помощью выполнения инструкции PDO с помощью INSERT с помощью .execute()
.
Однако в некоторых планах хостинга я сталкиваюсь с этой ошибкой:
Общая ошибка: 2014 Невозможно выполнить запросы, в то время как другие небуферизованные запросы активны. Рассмотрим использование PDOStatement :: fetchAll (). Кроме того, если ваш код будет работать только с mysql, вы можете включить буферизацию запросов, установив атрибут PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY.
Итак, перед SET NAMES я ввел $PDO->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, TRUE);
, но я все еще получаю ошибку. Затем я устанавливаю это значение в FALSE, и я все еще получаю ошибку.
Конечно, если я удалю инструкцию "SET NAMES utf8"
, проблема исчезнет. И снова – эта проблема возникает только на некоторых веб-хостах.
Каков правильный способ переключения MySQL в Unicode, который работает на большинстве планов хостинга Linux?