Тази публикация със „Съвети от support- a“ дава ценна и синтезирана информация за това как да избегнете или коригирате некоректното визуализиране на кирилицата в сайта ви. Колегите от техническия екип са се постарали да опишат най-често срещаните случаи и решенията. Разбира се, в заключение са ценните съвети и добри практики за коректното и успешно реализиране на вашите проекти на кирилица. Ще се радваме да отговорим на всички ваши въпроси по разглежданата тема, както и да дискутираме с вас подобни случаи и казуси. Оставете своите коментари под публикацията – колкото повече (коментари), толкова повече (в случая – полезна информация)! 🙂
Една доста често срещана ситуация, в която нашите клиенти имат нужда от професионално съдействие е следната: Преместили сте сайта си на нов хостинг или сте инсталирали нова система. Всичко, или по-скоро почти всичко работи коректно…Отваряте сайта и вместо да прочетете „Добре дошли“, виждате само „????? ?????“. Всъщност цялата кирилица в сайта се визуализира във въпросителни знаци…Какво ще направите?
Или ще се свържете с вашата (нашата) надеждна техническа поддръжка 🙂 за помощ, или пък можете да прочетете следващите редове! 🙂
Причината „Добре дошли“ да се визуализира като „????? ?????“
Причината е в разликите между енкодингите на html-а, на връзка на приложенията с базата данни и на самите данните в базата данни.
Най-често визуализацията на въпросителни вместо кирилица се получава, ако в html-а се използва енкодинг UTF-8 или Windows-1251, а данните са записани в базата в енкодинг latin1. В phpMyAdmin кирилицата също не се вижда коректно, а се визуализира по подобен начин:
Äîáðå äîøëè
Решението
Решението е да се преконвертира съдържанието на базата данни. Важно е да знаете, че ако има записани данни в базата данни, то трябва и те да се преконвертират.
Колацията на базата данни, таблиците и полетата има значение за записването на данните в базата. Смяната им няма да промени записаната вече информация.
Преконвертиране
Преконверирането на данните може лесно да се направи, например чрез използване на Linux командата: iconv
.
Повече за синтаксиса на командата iconv
, можете да намерите в нашата помощна страница:
В сайта вместо кирилица се визуализират „????????????“. Какъв е проблема и как да го коригирам?
Определяне на енкодинга
За да можете да разберете в какъв енкодинг да преконверирате базата данни, най-лесно е да видите какъв енкодинг се използва в html-а. За целта, можете да отворите сайта, след което да изберете View » Page Source или клавишната комбинация Ctrl+U.
Едни от най-често срещаните случаи са:
Промяна на енкодинга при връзка на приложенията с базата данни
При свързване с база данни се използва енкодинга, зададен по подразбиране в настройките на сървъра. Може да се промени при необходимост, като промяната се прави в кода на сайта. Веднага след като се осъществи връзката с базата данни се добавя:
mysql_query("SET NAMES 'енкодинг' ");
Съветите на техническия екип:
Добра практика е при първоначалната разработка на сайта да дефинирате един и същ енкодинг. Трябва да обърнете внимание на енкодинга в html-а, колацията на базата данни, таблиците и полетата, както и връзката на приложенията с базата данни. Ако се различават, ви препоръчваме да зададете един и същ енкодинг. Така ще бъдат избегнати проблеми с коректната визуализация на данни за бъдеще.
Също така, добра практика е да се прави връзка с базата данни в един файл, който да се извиква където е необходимо. Отварянето на връзка към база данни във всеки един файл, в който се изпълнява SQL заявка, не е препоръчително, защото при необходимост от редакция, дори и в данните за връзка към базата данни, ще доведе до повече редакции.
Допълнете статията с още информация на база вашия опит! Какво още интересно и полезно можете да споделите?