php Кириллица пишется в базу в неправильной кодировке -- кракозябры (SQL pdo, русский текст не отображается)

Предположим, что вы отправляете форму с русскими буквами, а в базе у вас оказывается не пойми что.

Решать проблему следует так (везде нужна кодировка UTF-8):

  1. Убедитесь, что ваша страница передаёт данные в utf-8 -- пример html
  2. Проверьте кодировку соединения PDO (её установку).
  3. Узнайте какая кодировка у вашей базы данных -- если это не utf-8, то лучше удалите базу (если она учебная) и создаёте заново с указанием кодировки, а на будущее установите вот эту кодировку по умолчанию для всей MYSQL, чтобы при создании новых баз не приходилось указывать её явно.

Если не помогает -- пишите в комменты.