Кракозябри на сайті - 6 проблем і їх вирішення
Блог / .htaccess / кракозябрами замість українських літер на сайті - 6 проблем і їх вирішення
Коли я тільки починав вивчати тему розробки сайтів, кракозябри були однією з моїх постійних проблем. Створив HTML-сторінку - в браузері кракозябри, встановив Денвер і спробував створити сайт на PHP - знову замість букв кракозябри. Скачав іноземну тему, підключився до бази даних - та ж проблема.
На своїх сайтах я зазвичай використовую UTF-8 (це така кодування тексту, вона ще називається юнікод), відповідно вона буде присутня в усіх прикладах в цій статті.
1. UTF-8 без BOM
Почнемо з найпростішої проблеми. Ви створили якийсь HTML-файл, відкрили його в браузері і отримали:
Кракозябри (проблема з кодуванням).Проблема актуальна в основному для користувачів Windows, на маці я з таким жодного разу не стикався.
Значить, відкриваємо файл в Notepad ++ і переходимо в Кодування> Перетворити в UTF-8 без BOM. Питання - чому без BOM? Тому що з BOM у вас будуть постійно вставлятися порожні символи (насправді вони не порожні, у них теж є своя функція, але нам вона в даному випадку не потрібна) куди не треба, а для PHP це вже критично.
2. Мета тег charset
Якщо ви зробили те, що я описував в попередньому кроці і ваша проблема не вирішилася, тоді саме час випробувати другий метод усунення кракозябрами.
Все, що нам потрібно, це вставити наступний код між тегами
сайту. Перш за все перевірте, можливо цей метатег у вас вже є. Якщо так, то подивіться яке у нього стоїть значення параметра charset.Важливо! Цей код повинен вставлятися до того, як буде що-небудь виведено на сторінці сайту, інакше - помилка.
5. Проблеми з останнім символом при обрізанні рядки
Як вирішити цю проблему?
Легко - все що нам потрібно, це знайти функцію substr () в коді і поміняти її на mb_substr ().
У мене не раз бувало таке, що я підключався до MySQL, витягав якісь дані, і при їх виведенні на сайті, текст відображався кракозябрами.
Таке може статися, якщо кодування вашого сайту не збігається з кодуванням бази даних, до якої ви підключаєтеся. У WordPress зазвичай таких проблем не буває.
Для того, щоб виправити це, після підключення до БД, робимо наступне: