Задать вопрос
@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" не помогает.
  • Вопрос задан
  • 859 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Дело в том, что автор OpenServer подсунул подлянку в конфиги MySQL.
Чтобы в PDO работала смена кодировки при использовании OpenServer, нужно убрать там из конфигов MySQL параметр init-connect, который по крысиному меняет кодировку на другую, никак не уведомляя об этом PDO.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽