українські літери та символи у PHP скриптах та базі даних MySQL
Доброго часу доби, мій любий гість.
Проблеми з кодуванням у PHP
При використанні локального сервера на комп'ютері під керуванням Windows, будь то Denwer або чолом інший набір, виникає проблема з відображенням українських символів та літер при виведенні сторінки у браузер. Причини цієї проблеми можуть бути різними, у цій статті я розповім про деякі з них і намагатимусь допомогти з їх вирішенням.
Звичайний висновок у PHP
Якщо не відображаються українські символи при звичайному виведенні через echo, з'являються знаки питання (?) замість літер, то проблемою може бути неправильне вказане кодування файлу. Стандартна програма Блокнот Windows за замовчуванням зберігає файл у кодуванні ANSI, внаслідок чого виникає така проблема як на картинці.

Знаки питання замість літер
Вирішити проблему можна зберігши файл у форматі UTF-8, для цього в блокноті достатньо натиснути Файл-> Після чого натиснути кнопку зберегти та підтвердити заміну файлу.

Збереження файлу в кодуванні UTF-8
Відкриваємо знову у браузері та бачимо, що проблему вирішено.

Нормальне відображення символів у PHP
Помилки з українським текстом у базі даних MySQL
Проблема поводиться під час збереження даних у базі даних MySQL. Зазвичай це відбувається через те, що користувач при створенні нової бази даних і таблиці не вибирає порівняння (кодування) і вона встановлюється за умовчанням як latin1_swedish_ci.
СУБД повертає помилку під час спроби додати український текст у поле запису.
#1366 - Incorrect string value

Помилка при додаванні українського тексту до запису таблиці СУБД MySQL
Щоб не стикатися з такою проблемою, необхідно завжди вибирати порівняння utf8_general_ci при створенні бази даних, таблиць і стовпців.
Знаки питання під час виведення даних з бази даних MySQL
Іноді виникає проблема відображення даних, отриманих з бази даних MySQL. Зазвичай замість українських символів виводяться питання.
Проблема вирішується шляхом встановлення кодування підключення до бази даних.
Якщо ви користуєтеся старими функціями для БД MySQL, то відразу після функцій підключення до бази даних необхідно додати: