Rezolvarea problemelor de codificare de pagini web incorecte

Dacă greșit codifică întregul site sau o parte a acestuia afișată ca „kryapozyablov“, adică personaje obscure, făcând textul citit. Această situație poate apărea atunci când setările incorecte ale codificării de server web sau în lipsa unor ajustări. Luați în considerare opțiunile și cum să rezolve problemele

codificare incorectă de pagini HTML

Crearea unei soluții de testare l-am găsit:

Copiați-l:

După cum se poate observa, browser-ul de codificare incorect definite:

Rezolvarea problemelor de codificare de pagini web incorecte

Există mai multe modalități de a remedia această situație. Să începem cu cele mai simple - să specifice în mod clar codificarea pentru pagina web. Acest lucru se face în meta tag-ul care urmează să fie amplasat în interiorul capului tag-ul.

Adăugați această linie la testul nostru am constatat că sa dovedit:

După cum se poate vedea în următoarea captura de ecran, problema este rezolvata:

Rezolvarea problemelor de codificare de pagini web incorecte

Dacă fișierul de codificare este diferit de UTF-8. în schimb ea a pus ferestre-1251 sau cea care corespunde codificării paginilor web. Pentru a afla cum de a determina codificarea fișierelor, consultați aceste instrucțiuni.

Acesta a fost cel mai simplu mod de a stabili o problemă cu codificarea - fără a modifica setările de server.

Rambursați fișierul nostru de test la starea sa inițială și va continua să exploreze modalități de a specifica codarea.

Dacă fișierele .htaccess incluse setările Apache, aceste fișiere pot fi folosite pentru a specifica codificarea trimisă de către paginile de server web. Pentru a activa suportul pentru fișierele .htaccess în fișierul de configurare Apache (/etc/apache2/apache2.conf) Localizați grupul de linie

Și înlocuiți

Apoi, trebuie să reporniți serverul.

Fișierul .htaccess ar trebui să fie plasate în același director ca site-ul. Site-ul meu este plasat în directorul web rădăcină. Dacă faci bine, este acum în folderul / var / www / html /, a crea un fișier .htaccess și adăugați AddDefaultCharset directivă după care specifică codificarea dorită. exemple

Dacă site-ul este în PHP, poate fi necesar de asemenea să duplicat codificarea cu default_charset php_value.

Puteți crea în schimb un fișier .htaccess pentru a seta codificarea în fișierul de server Web de configurare. Pentru Apache CentOS / Fedora este httpd.conf fișier, dar, pe Debian / Ubuntu este apache2.conf fișier. Adăugați următoarea linie pentru a seta codificarea și reporniți serverul de web pentru ca modificările să aibă efect:

Rezultatele de codificare incorecte dintr-o bază de date MySQL

Dacă site-ul dvs. constă dintr-o parte statica (model), și dinamica, care este format din datele obținute din baza de date, se poate întâmpla ca o parte a site-ului are codificarea corectă, iar cealaltă parte a site-ului este neregulat. În acest caz, inutil pentru a schimba setările serverului web - ca încă o parte a paginii va avea codificarea greșită.

Este necesar să se înceapă prin definirea codificării tabelelor. Puteti vedea in phpMyAdmin.

Notă coloana „Compara“, mențiunea „utf8_unicode_ci“ înseamnă că utilizați codificarea UTF-8.

Vă puteți conecta la baza de date MySQL și verifica tabelele de codificare fără phpMyAdmin. Pentru a face acest lucru:

Dacă ați uitat numele bazei de date, apoi lansați comanda:

Să presupunem că vreau să văd codificarea pentru tabelele din information_schema de date

Dacă ați uitat numele tabelului, executați:

Apoi, executați comanda, care înlocuiți în numele tabelei actual al tabelului:

Vei vedea ceva de genul următoarele:

A se vedea coloana Collation. În cazul meu există utf8_general_ci. Este la fel de utf8_unicode_ci. Codificarea UTF-8. Apropo, dacă nu știi ce este diferența dintre codificare utf8_general_ci. utf8_unicode_ci. utf8mb4_general_ci. utf8mb4_unicode_ci. precum și modul de a alege codificarea pentru baza de date MySQL, apoi a se vedea acest articol.

Acum, că știm codificarea (în cazul meu este UTF-8), atunci de fiecare dată când vă conectați la interogări baze de date MySQL pentru a fi efectuate secvențial:

În PHP, puteți face ceva de genul:

Vă rugăm să rețineți că trebuie să înlocuiți UTF8 pe codificarea utilizată pentru tabelele.

Schimbați codificarea fișierului

Dacă vă decideți să mergeți alt mod, și în loc de a stabili o nouă schimbare de codificare codificarea fișierelor, apoi a verifica afară articolul „Cum se convertesc fișiere în codificarea UTF-8 în Linux». Acesta descrie modul de a afla codificarea curentă a fișierului, și cum de a converti fișiere în orice codificare (nu numai UTF-8).

De unde știi ce codifică serverul trimite

Dacă doriți să știți ce setări de codificare are un server web (care trece de codificare în antet), apoi utilizați următoarea comandă:

Ce codificare de a alege pentru site-ul dvs.

Se recomandă să alegeți codificarea UTF-8. Aceasta este o codificare mai versatil, practic, a devenit un standard. Tu nu va avea probleme cu afișarea de simboluri neobișnuite și litere din alte alfabete.