Кракозябри на сайті - 6 проблем і їх вирішення

Блог / .htaccess / кракозябрами замість українських літер на сайті - 6 проблем і їх вирішення

Коли я тільки починав вивчати тему розробки сайтів, кракозябри були однією з моїх постійних проблем. Створив HTML-сторінку - в браузері кракозябри, встановив Денвер і спробував створити сайт на PHP - знову замість букв кракозябри. Скачав іноземну тему, підключився до бази даних - та ж проблема.

На своїх сайтах я зазвичай використовую UTF-8 (це така кодування тексту, вона ще називається юнікод), відповідно вона буде присутня в усіх прикладах в цій статті.

1. UTF-8 без BOM

Почнемо з найпростішої проблеми. Ви створили якийсь HTML-файл, відкрили його в браузері і отримали:

Кракозябри на сайті - 6 проблем і їх вирішення
Кракозябри (проблема з кодуванням).

Проблема актуальна в основному для користувачів Windows, на маці я з таким жодного разу не стикався.

Значить, відкриваємо файл в Notepad ++ і переходимо в Кодування> Перетворити в UTF-8 без BOM. Питання - чому без BOM? Тому що з BOM у вас будуть постійно вставлятися порожні символи (насправді вони не порожні, у них теж є своя функція, але нам вона в даному випадку не потрібна) куди не треба, а для PHP це вже критично.

Кракозябри на сайті - 6 проблем і їх вирішення

2. Мета тег charset

Якщо ви зробили те, що я описував в попередньому кроці і ваша проблема не вирішилася, тоді саме час випробувати другий метод усунення кракозябрами.

Все, що нам потрібно, це вставити наступний код між тегами сайту. Перш за все перевірте, можливо цей метатег у вас вже є. Якщо так, то подивіться яке у нього стоїть значення параметра charset.

Важливо! Цей код повинен вставлятися до того, як буде що-небудь виведено на сторінці сайту, інакше - помилка.

5. Проблеми з останнім символом при обрізанні рядки

Кракозябри на сайті - 6 проблем і їх вирішення

Як вирішити цю проблему?

Легко - все що нам потрібно, це знайти функцію substr () в коді і поміняти її на mb_substr ().

У мене не раз бувало таке, що я підключався до MySQL, витягав якісь дані, і при їх виведенні на сайті, текст відображався кракозябрами.

Таке може статися, якщо кодування вашого сайту не збігається з кодуванням бази даних, до якої ви підключаєтеся. У WordPress зазвичай таких проблем не буває.

Для того, щоб виправити це, після підключення до БД, робимо наступне:

Схожі статті