Решаване на проблеми с мястото на кодиране
първоначалната информация
- Вземете за пример нашия уебсайт: www.vashmaster.ru
- Всички текстове сайта са написани и публикувани на интернет страницата на кодиране "прозорци-1251" и този браузър не е информиран
- Хостинг сървър по подразбиране автоматично изпраща следната заглавието:
Content-Type: текст / HTML; кодировка = UTF-8
С такова разминаване в реалния сайта и кодиране на информация за кодиране в заглавната изпратен от сървъра, няма да има проблеми с показването на страници в браузъра на посетителя на сайта.
Правилното кодиране - това е много важно!
Опитайте се да обясни защо.
Когато по-горе настройки, браузъра на потребителя няма да е в състояние автоматично да се определи какви са кодиране написани текстове, които да разглеждате сайта. И това най-вероятно ще се появи на страницата може да бъде прочетен "безсмислици". Ако сте изправени пред такава "недоразумение" между браузъра и вашия сайт, трябва спешно да се предприемат действия. В противен случай е вероятно да доведе до поредица от сериозни проблеми.
На първо място. при такива обстоятелства и настройки, посетителите на сайта трябва постоянно ръчно (чрез избор), за да зададете кодирането за дисплея на браузъра на сайта. За да направите това, което трябва да направите няколко допълнителни кликвания на мишката. Но виждате, че не всеки ще искате да направите допълнителни 2-3 кликвания с мишката, само за да видите информацията на страницата в четим вид. Особено, защото толкова много хора дори не знаят как да се промени не само показване на кодирането в настройките на браузъра си, но и това, което кодиране на всички! Повечето посетители могат да решат, че сайтът изоставен от собственика или от някой, хакнат, а той не се опита да се върне.
На второ място. с неясна дефиниция за кодиране на страници от сайта, търсачките не могат правилно да индексираме съдържанието текст на сайта. Което от своя страна води до сериозни проблеми с трафика на потребители от търсачките. Разбира се, някои търсачки могат да се опитат да се определи съдържанието на страницата по някакъв начин тяхното правилно кодиране, но тя е много по-лесно да не стане. Обикновено проблемът все още остава.
Надявам се да се разбере, че проблемите на кодиране може да се превърне в много сериозна пречка за функционирането на сайта, в своето развитие и възпитанието на своите покровители.
За такива проблеми не са с кодирането, което трябва да направи подходящата настройка на хостинг сървър, както и на сайта.
Настройки на сайта трябва да са такива, че всеки браузър или робот търсачката може да се определи еднозначно как да се кодира информацията се прехвърля от сайта!
Решаването на проблема с мястото за кодиране
Забелязахме, че всички текстове на сайта ни са написани и изпратени към браузъра на посетителя кодирането на сайта "прозорци-1251". Какво правите със сървъра, на който е поставен нашия сайт, прехвърлени на браузъра в заглавната правилната информация за кодиране? Нека да се процедира в ред.
1. За да не зависи от конфигурацията на сървъра. всичко директно в HTML кода на страниците на сайта ви трябват, с помощта на мета тага ясно предписват следната директива:
Поставете тя трябва да бъде на всяка страница, за предпочитане веднага след отварящия маркер
. Това ще позволи на браузъра автоматично при зареждане и интерпретация на страницата, за да изберете правилния дисплея на кодирането в съответствие с директивата, получена! Едно от тази директива трябва да бъде достатъчно, за да реши проблемите ни. Но това е трябвало на теория. Но на практика, настоящата директива не винаги е достатъчно. В редки случаи, но се случва така, че браузърът за кодова таблица за да покажете страницата изберете не е този, който в директивата на самата страница е в списъка, и този, който е приет в заглавната част на сървъра! И ако даден на две места информация за кодирането не съвпада, тогава проблемът може да остане.2. За сървъра даде отговора си в правилната информация за кодиране. трябва да бъде в основата на вашия сайт, за да създадете файл .htaccess и да го регистрирате в директивата:
След това сървърът ще продължи да изпраща заглавието по подразбиране за кодиране, но името на кодиране ще съответства на съществуващата на сайта. Нито несъответствия в имената ще изчезнат.
Ако .htaccess файл вече съществува на вашия сървър, а след това просто да добавите директивата, например, в началото. И в никакъв случай не сваляйте ненужно съществуваща информация в него!
Това е всичко, разтвор. Съгласете се, всичко това не е толкова трудно. Те са много полезни за предотвратяване на всякакви проблеми, свързани с прословутия кодирани.
Изпълнение на поредица от две от най-горните препоръки, браузъри вече просто не може да направи грешка при избора на дисплея десен автоматично кодиране на вашия сайт. И все пак, ние сме посочено ясно, точно и дори по два различни директиви, кодиращи информация!
специални ситуации
Ситуацията първи
Създателите на сайта, а често дори и клиентите започват да умишлено и непредпазливо да се направят някои подобрения в сайта, поставете текста, както и те моля, и така нататък. Д. В случай, че в резултат на сайта могат да бъдат секция с информация в различни кодировки. Не можем да кажем, че това е правилният подход, но ние ще отблъсне, защото това се случва и това е всичко. В този случай, дори и да изпълни посочените по-горе две препоръки все още може да се окаже, че сървърът ще бъде дадена информация за един кодиране, а в HTML кода на страницата, ще бъдат ясно разписани различно кодиране. В такъв случай, може би, най-простото решение е следното.
Изпишете във файла за директива .htaccess:
С тази директива, сървърът просто не изпраща заглавната част с информация за кодиране, предава страница. След това в браузъра ще започне от кодирането на данните, които са посочени изрично в HTML кода на самите страници. В същото време на същата страница, данните могат да бъдат в прозорци-1251. но на друга страница, като UTF-8. Важно е, не забравяйте да посочите в тези страници съответните мета тагове с информация за правилното кодиране за признаване и текста на дисплея браузър.
Такова решение, макар и най-прости, но може би не най-оптималния и точна. В добро, трябва цялата информация на интернет страницата и във всички секции на сайта да се постави в същото кодиране! И ако има няколко страници в различна кодировка, най-добре е да се актуализира информацията в тях, за да конвертирате всички текстове в необходимия набор от знаци.
Ситуацията е вторият
Както е известно, по-голямата част от сайтове за генериране на страницата на данните, избрани от базата данни, например, MySQL (ако сайтът е написан на PHP). Често priperenose сайт от един хост на друг, могат да възникнат проблеми от несъответствие между данните за кодиране съхраняват в база данни MySQL, и се съхраняват данните, например, директно на шаблона на сайта. По този начин една ситуация може да възникне, че образуването на една страница върху него може да бъде на данни в различни кодировки. Може би това е една от най-тежките възможни грешки с кодиране на сайта и той трябва да бъде решен веднага. В противен случай, след това може да изпитате допълнителни трудности при попълването и сайт редактиране.
mysql_query ( "SET означения cp1251");
Това искане казва сървъра MySQL база данни, всички данни се съхраняват и да бъдат предадени в cp1251 за кодиране (това е името на кодировката MySQL вместо споменатите по-горе прозорци-1251 име, което се използва в данните от HTML).
Но най-добре е да промените кодирането на данните в MySQL база данни на този, който се използва в сайта. След това сървърът на базата данни не трябва да се извърши допълнителен етап на преобразуване на данни от един формат в друг.