Rezolvarea problemelor cu site-ul de codificare

datele inițiale

  1. Luați, de exemplu, site-ul nostru: www.vashmaster.ru
  2. Toate textele site-ului sunt scrise și publicate pe site-ul în codare „Windows-1251“, iar acest browser nu este informat
  3. Gazduire Server implicit trimite automat următorul antet:
    Content-Type: text / html; charset = utf-8

Cu o astfel de discrepanță în site-ul real, și care codifică informații despre codificare în antetul trimis de server, vor exista probleme la afișarea paginilor de pe browser-ul site-ul vizitatorului.

codificare corectă - acest lucru este foarte important!

Încearcă să explice de ce.

Când setările de mai sus, browserul utilizatorului nu va fi în măsură să determine în mod automat ceea ce textele scrise de codificare pentru a naviga pe site-ul. Și va afișa cel mai probabil, pagina nu poate fi citit „păsărească“. Dacă se confruntă cu o astfel de „neînțelegere“ între browser și site-ul dvs., aveți nevoie urgent să ia măsuri. În caz contrar, este probabil să conducă la o serie de probleme serioase.

În primul rând. în astfel de circumstanțe și setări, vizitatorii site-ului trebuie să constant manual (prin selecție), pentru a specifica codificarea pentru afișarea browser-ul a site-ului. Pentru a face acest lucru, trebuie să faceți câteva clicuri de mouse suplimentare. Dar vezi, nu toată lumea va dori să facă în plus 2-3 clicuri de mouse doar pentru a vedea informația de pe pagina într-o formă ușor de citit. Mai ales pentru că atât de mulți nici măcar nu știu cum să se schimbe, nu numai afișa codificarea în setările browser-ului, dar, de asemenea, ce fel de codificare! Cei mai mulți vizitatori poate decide ca site-ul abandonat de către proprietar sau de cineva hacked, și el nu a încercat să vină înapoi.

În al doilea rând. cu un ambigue pagini de codificare definiție a site-ului, motoarele de căutare nu poate indexa corect conținutul de text al site-ului. Care, la rândul său, aduce probleme serioase cu traficul utilizatorilor din motoarele de căutare. Desigur, unele motoare de căutare ar putea încerca să determine conținutul paginii într-un fel codificarea lor corectă, dar este mult mai ușor să nu devină. De obicei, problema încă persistă.

Sper să realizezi că problemele de codificare poate deveni un obstacol foarte serios pentru funcționarea site-ului, în dezvoltarea și aducerea pe patronii săi.

Pentru astfel de probleme nu apar cu codificare, trebuie să efectuați setarea corespunzătoare de pe serverul de hosting, precum și pe site-ul.

Setările site-ului trebuie să fie de așa natură încât orice browser sau orice robot al unui motor de căutare poate determina în mod clar modul de a codifica informațiile sunt transferate de pe site!

Rezolvarea problemei cu site-ul de codificare

Am observat că toate textele de pe site-ul nostru sunt scrise și trimise browser-ul site-ului codificarea vizitatorilor „ferestre-1251“. Ce la serverul pe care este plasat site-ul nostru, transferat la browser-ul în antetul informațiile corespunzătoare de codificare? Să procedeze în ordine.

1. Pentru a nu depinde de configurația serverului. toate acestea direct în codul HTML al paginilor site-ul de care aveți nevoie, folosind meta tag-ul prevede în mod clar următoarea directivă:

Așezați trebuie să fie pe fiecare pagină, de preferință imediat după eticheta de deschidere . Acest lucru va permite browser-ul în mod automat atunci când încărcarea și interpretarea paginii pentru a selecta afișarea corectă a codificării, în conformitate cu directiva primită! Una din această directivă ar trebui să fie suficient pentru a rezolva problemele noastre. Dar a fost însemnat în teorie. Dar, în practică, această directivă nu este întotdeauna suficientă. În cazuri rare, dar se întâmplă ca browser-ul ca encoding pentru a afișa pagina Select nu este cel care este listat în Directiva privind pagina în sine, și cel care a fost trecut în antetul serverului! Și dacă date în două locuri informații despre codificarea nu se potrivește, atunci problema poate rămâne.

2. Pentru serverul a dat răspunsul său în informațiile corespunzătoare de codificare. trebuie să fie la rădăcina site-ului dvs. pentru a crea un fișier .htaccess și să-l înregistreze în directivă:

Apoi, serverul va continua să trimită antetul implicit pentru codificare, dar numele de codificare va potrivi cu existente pe site. De asemenea, nu orice discrepanțe în nume vor fi plecat.

Dacă un fișier .htaccess există deja pe server, apoi pur și simplu adăugați directiva, de exemplu, la început. Și, în orice caz, nu elimina informațiile existente în mod inutil în ea!

Asta e tot o soluție. Sunt de acord, toate acestea nu este atât de dificil. Ele sunt foarte utile pentru prevenirea tot felul de probleme cu codată notorii.

Execută o secvență de două dintre recomandările de mai sus, browsere deja pur și simplu nu se poate face o greșeală în alegerea pe afișajul de codificare automată dreapta pe site. Cu toate acestea, ne-am indicat în mod clar, corect și chiar în două directive diferite care codifică informații!

situații speciale

Situația Primul

Creatorii site-ului, și de multe ori chiar și clienții încep să să facă în mod voit și prin imprudență anumite îmbunătățiri ale site-ului, plasați textele precum și doresc, și așa mai departe. D. În măsura în care, ca rezultat site-ul poate fi o secțiune cu informații în diferite codificări. Nu putem spune că aceasta este abordarea corectă, dar vom împinge departe, deoarece se întâmplă și asta este. În acest caz, chiar dacă îndeplinesc cele de mai sus două recomandări pot fi în continuare cazul în care serverul se va da informații despre o codificare, și în codul HTML al paginii va fi clar o codificare diferită. Într-un astfel de caz, poate, cea mai simplă soluție este următoarea.

Prescrierea în fișierul .htaccess directivă:

Prin această directivă, serverul pur și simplu nu trimite antet cu informațiile privind codificarea pagini transmise. Apoi, browser-ul va porni de la codificarea datelor, care sunt specificate în mod explicit în codul HTML pe paginile în sine. În același timp, pe aceeași pagină, datele pot fi ferestre-1251. dar pe o altă pagină, cum ar fi utf-8. Foarte important, nu uitați să specificați în aceste pagini meta-tag-uri relevante cu informații privind codificarea corectă pentru recunoașterea și textul de afișare a browserului.

O astfel de decizie, deși cel mai simplu, dar poate nu cea mai optimă și corectă. În bine, aveți nevoie de toate informațiile de pe site-ul web și în toate secțiunile site-ului să fie plasate în aceeași codificare! Și dacă există mai multe pagini într-o codificare diferită, cel mai bine este de a actualiza informațiile din ele pentru a converti toate textele în charset necesare.

Situația este al doilea

După cum se știe, majoritatea site-urilor pentru a genera o pagină a datelor selectate din baza de date, de exemplu, MySQL (dacă site-ul este scris în PHP). De multe ori, site-ul priperenose de la o gazdă la alta, pot apărea probleme dintr-o neconcordanță între datele de codificare stocate într-o bază de date MySQL, iar datele stocate, de exemplu, direct șablonul site-ului. Astfel, o situație poate apărea că formarea unei pagini pe ea poate fi date în diferite codificări. Poate că aceasta este una dintre cele mai dure erori posibile cu codificare site-ul și acesta trebuie să fie rezolvată imediat. În caz contrar, atunci este posibil să apară dificultăți suplimentare atunci când se umple și site-ul de editare.

mysql_query ( "NUME SET cp1251");

Această solicitare spune baza de date MySQL server, toate datele sunt stocate și care urmează să fie transmise în cp1251 de codificare (acesta este numele codificării utilizate în MySQL în loc de numele windows-1251 menționat anterior, care este utilizat în datele HTML).

Dar cel mai bine este de a schimba codificarea datelor din baza de date MySQL la care este folosit pe site. Apoi, serverul de baze de date nu trebuie să efectueze etapa suplimentară de conversie a datelor de la un format la altul.

notă