За да реши проблемите некоректния уеб страници
Ако погрешно, кодиращ целия сайт или част от него се показва като "kryapozyablov", т.е. неясни знаци, което прави текста да бъде прочетен. Тази ситуация може да възникне, когато неправилни настройки на кодирането на уеб сървър или при липса на корекции. Помислете за възможностите и начините за решаване на проблеми
Неправилно кодиране на HTML страници
Създаване на тестовия разтвор открих:
Копирайте го:
Както може да се види, браузър кодиране неправилно дефинирани:
Има няколко начина за преодоляване на тази ситуация. Да започнем с най-простите - ясно определя кодирането на уеб страница. Това се прави в мета тага да се намира вътре в главата маркер.
Добавете този ред на нашия тест, аз открих, че се оказа:
Както можем да видим в следващата екрана, проблемът е решен:
Ако кодиране на файла си различен от UTF-8. вместо това тя постави прозорци-1251 или тази, която съответства на кодирането на уеб страници. За да научите как да се определи кодирането на файлове, вижте тези инструкции.
Това е най-лесният начин да се определи проблем с кодирането - без промяна на настройките на сървъра.
Възстановяване на нашия тест файл в първоначалното му състояние и ще продължи да проучва начина за определяне на кодирането.
Ако .htaccess файлове, включени настройки Apache, тези файлове могат да бъдат използвани, за да определите кодирането изпратено от страниците на уеб сървъра. За да се даде възможност на подкрепа за .htaccess файлове в конфигурационния файл на Apache (/etc/apache2/apache2.conf) Намерете групата линия
И го замени
След това е необходимо да рестартирате сървъра.
Файлът .htaccess трябва да бъде поставен в същата директория като на сайта. Моят сайт е поставен в уеб основната директория. Ако правиш добро, то сега е в папка / Var / WWW / HTML /, да създадете файл .htaccess и добавете директива AddDefaultCharset след което посочете желания кодировка. примери
Ако сайтът е в PHP, може допълнително да бъде необходимо да се дублира кодиране с php_value default_charset.
вместо Можете да създадете файл .htaccess да зададете кодирането в уеб сървър конфигурационния файл. За Apache CentOS / Fedora е httpd.conf файла, но на Debian / Ubuntu е apache2.conf файл. Добавете следния ред да зададете кодирането и рестартиране на уеб сървъра за промените да влязат в сила:
Некоректния резултати от база данни MySQL
Ако сайтът ви се състои от статична част (модел) и динамика, която се формира от получените данни от базата данни, това може да се случи, че част от сайта е правилното кодиране, а другата част на обекта е неправилна. В този случай, безполезно да промените настройките на уеб сървъра - като все още е част от страницата ще има грешна кодировка.
Необходимо е да се започне с определяне на кодировката на вашите таблици. Можете да видите в PhpMyAdmin.
Обърнете внимание на колоната "Сравни", вписване "utf8_unicode_ci" означава, че вие използвате UTF-8 кодиране.
Можете да се свържете с базата данни MySQL и проверка на кодиране на масите без PhpMyAdmin. За да направите това:
Ако забравите името на базата данни, след подаване на командата:
Да предположим, че аз искам да видя кодирането за таблиците в INFORMATION_SCHEMA на данни
Ако сте пропуснали името на таблицата, стартирайте:
На следващо място, стартирайте командата, която да замени tablename в настоящото име на таблица:
Ще видите нещо подобно на следното:
Вижте съпоставянето колона. В моя случай не е utf8_general_ci. Това е като utf8_unicode_ci. UTF-8 кодиране. Между другото, ако не знаете каква е разликата между utf8_general_ci кодиране. utf8_unicode_ci. utf8mb4_general_ci. utf8mb4_unicode_ci. както и как да изберете кодирането на базата данни MySQL, а след това вижте тази статия.
Сега, когато знаем кодирането (в моя случай това е UTF-8), а след това всеки път, когато се свържете към заявките за бази данни MySQL да се извършва последователно:
В PHP, можете да направите нещо подобно:
Моля, имайте предвид, че трябва да се замени UTF8 за тяхното кодиране за вашите таблици.
Променете кодировката на файла
Ако решите да отидете на друг начин, а вместо определяне на нов кодиране промяна на кодирането на файловете си, а след това вижте статията "Как да конвертирате файлове в UTF-8 кодиране на Linux». Той описва как да разберете текущата кодировката на файла, както и как да конвертирате файлове в никакъв кодиране (не само UTF-8).
Откъде знаеш какво кодиране сървърът изпраща
Ако искате да знаете какво настройките за кодиране има уеб сървър (който кодиране преминава в заглавната част), а след това използвайте следната команда:
Кое кодиране, за да изберете за вашия уеб сайт
Препоръчително е да изберете UTF-8 кодиране. Това е по-гъвкав, кодиране, на практика, тя се превърна в стандарт. Вие няма да имате проблеми с дисплея на странни символи и букви от други азбуки.