@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" не помогает.
  • Вопрос задан
  • 833 просмотра
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Дело в том, что автор OpenServer подсунул подлянку в конфиги MySQL.
Чтобы в PDO работала смена кодировки при использовании OpenServer, нужно убрать там из конфигов MySQL параметр init-connect, который по крысиному меняет кодировку на другую, никак не уведомляя об этом PDO.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы