@Jeracsus

Как изменить кодировку sql запроса в OpenServer?

я делаю запрос к бд через пдо.
$dsn = 'mysql:host=localhost;dbname=f5_shop';
 $pdo = new PDO($dsn, 'root', '');
$quere = $data['search_request'];
    $sql = 'SELECT * FROM `remont` WHERE `:type` = `:link`';
    $query = $pdo->prepare('SELECT * FROM `remont` WHERE `:type` = `:link`');
    $query->execute(['type' => $type_a, 'link' => $quere]);

Но если я ввожу кириллицу, то получаю в запросе кракозябру вместо русских букв. я понял что они возникают когда пробуешь перевести с UTF-8 в WIN-1251. На самом сайте кириллица отображаеться нормально. Любая команда "SET NAMES" не помогает.
  • Вопрос задан
  • 819 просмотров
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Дело в том, что автор OpenServer подсунул подлянку в конфиги MySQL.
Чтобы в PDO работала смена кодировки при использовании OpenServer, нужно убрать там из конфигов MySQL параметр init-connect, который по крысиному меняет кодировку на другую, никак не уведомляя об этом PDO.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽