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

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

Войти через центр авторизации
Похожие вопросы
SaveTime Москва
от 160 000 ₽
ЧИТАЙ-ГОРОД Москва
от 140 000 до 210 000 ₽
Farpost Владивосток
от 100 000 до 160 000 ₽
19 февр. 2020, в 04:53
2000 руб./за проект
19 февр. 2020, в 02:24
500 руб./за проект
18 февр. 2020, в 23:53
8000 руб./за проект