Probleme cu codificarea html. Rezolvarea problemelor legate de codificarea incorectă a paginilor web

Când creează un site web, webmasterii începători au adesea întrebări: ce codificare să folosească pentru site-ul web, cum diferă UTF-8 de Windows-1251 și cum să îl introducă în setul de caractere META al paginilor HTML ale site-ului. Răspunsurile la toate aceste întrebări sunt în acest articol.

Ce este codificarea site-ului și cum funcționează?

Codificarea poate fi prezentată sub forma unui tabel format din diferite litere, numere și alte simboluri pe înțelesul oamenilor, care sunt codificate într-un anumit mod. Când deschideți un fișier text, care include pagini HTML, computerul citește din antetul fișierului în ce codificare a fost salvat și afișează textul în codificarea corespunzătoare, transformând datele computerului într-o formă care poate fi înțeleasă de oameni, comparând aceste date cu tabel de codificare. Dacă informațiile de codificare din antetul fișierului se potrivesc cu codificarea în care sunt stocate datele în pagina HTML, atunci utilizatorul vede literele, numerele și alte simboluri familiare cu el. Dacă există o discrepanță, rezultatul este că utilizatorului i se prezintă un set de caractere de neînțeles, acest lucru se întâmplă mai ales în programele de e-mail mai vechi. Dacă un utilizator primește o scrisoare cu farfurie de neînțeles, atunci pur și simplu parcurgând diferite codificări, este de obicei posibil să ghicească și să o selecteze pe cea în care este scrisă scrisoarea și, ca urmare, un set de caractere de neînțeles se transformă într-un mod de înțeles uman. text.

Același lucru se întâmplă și cu paginile HTML ale site-ului. Dacă documentul a fost salvat, de exemplu, în codificare UTF-8, iar documentul în sine conține o etichetă META care indică faptul că aceasta este codificare Windows-1251, atunci browserul va compara din nou datele salvate în fișier cu tabelul de codificare. specificate acestuia și deoarece caracterele sunt codificate în funcție de -diferent, browserul va afișa un set de caractere de neînțeles în locul textului obișnuit, sau unele dintre litere pot fi în formă normală, în timp ce alte litere sau simboluri pot fi afișate, pt. de exemplu, sub formă de semne de întrebare. Toate cele de mai sus se aplică și pentru afișarea numelor de fișiere.

Când creați un document nou într-un editor de text, este mai bine să vă asigurați imediat că este selectată codificarea dorită. Editorii moderni vă permit să convertiți textul unui document deschis de la o codificare la alta, iar Notepad-ul standard vă permite să selectați codificarea numai atunci când salvați fișierul.

Cele mai comune codificări

Din paragraful anterior, știți deja ce este codificarea și de ce este atât de important să o scrieți corect în codul paginilor site-ului. Să aflăm acum care dintre multele codificări este cel mai bine de ales pentru viitorul site. Deoarece cel mai comun și mai ușor de învățat sistem de operare a fost întotdeauna sistemul de operare Windows, majoritatea dezvoltatorilor web au creat pagini HTML în codificarea Windows-1251 (ANSI), care a fost folosită implicit. Dar Windows-1251 nu acceptă un număr foarte mare de litere și simboluri, iar dezvoltatorii doresc să folosească diverse săgeți, inimi, pătrate și alte simboluri în textele lor, inclusiv necesitatea de a combina cuvinte din diferite limbi într-un singur document, deci a fost înlocuit de mult cu cât a sosit UTF-8 mai extins și majoritatea dezvoltatorilor folosesc această codificare.

Probleme de codificare nu numai în pagina HTML

Site-ul, fie că este doar o colecție de documente HTML statice sau script-uri dinamice complexe care generează pagini din mers, este găzduit pe un server web, care funcționează și cu o codificare specifică. Și dacă serverul oferă informații într-o singură codificare, iar paginile sau scripturile dvs. sunt salvate într-o codificare diferită, atunci din nou pot apărea probleme cu afișarea paginilor în browserul utilizatorului. Multe găzduiri vă permit să schimbați setările și să selectați codificarea în conformitate cu cea folosită în fișierele site-ului prin intermediul panoului de control, sau o puteți scrie în fișierul .htaccess dacă găzduirea folosește popularul server web Apache.

Aproape niciun site web modern nu poate funcționa fără utilizarea unei baze de date MySQL și poate deveni, de asemenea, o sursă de probleme de codificare. Dacă fișierele site-ului sunt salvate într-o codificare, iar informațiile din baza de date sunt în alta, atunci pe pagină acea parte a informațiilor care este scoasă din baza de date poate fi afișată sub forma acelorași semne de întrebare sau alte simboluri de neînțeles . Pentru a evita problemele de codare, la fel ar trebui să fie și pentru serverul web, baza de date MySQL, în scripturi, în paginile HTML ale site-ului și în eticheta META, care este scrisă în codul HTML. Dacă există probleme cu afișarea textului, verificați toate cele de mai sus pentru problema.

Setul de caractere META al documentului HTML

Pentru a spune browserului și motoarelor de căutare în ce codificare sunt salvate paginile site-ului, în codul lor este scris un set de caractere META.

Pentru codificarea Windows-1251:

Titlul paginii

Textul paginii




Pentru codificarea UTF-8:

Titlul paginii

Textul paginii




Acum știți ce este codificarea site-ului și unde să căutați probleme dacă textul este afișat incorect în orice parte a site-ului.

Copierea articolului este interzisă.

3 voturi

Bună ziua, dragi cititori ai blogului meu. Astăzi vă vom vorbi despre codificare. Dacă citiți articolul meu despre asta, știți că orice document de pe Internet nu este stocat în forma în care suntem obișnuiți să-l vedem. Este scris folosind simboluri și semne de neînțeles pentru oameni. Este exact la fel cu textul.

Există mai multe codificări și, prin urmare, uneori vedeți caractere ciudate atunci când deschideți o carte într-o aplicație mobilă sau încărcați un articol pe un site web, iar prin modificarea unor valori în setări, veți vedea alfabetul care este familiar ochi.

Codificare Windows-1251 - ce este, ce semnificație are la crearea unui site web, ce caractere vor fi disponibile și este cea mai bună soluție astăzi? Despre toate acestea în articolul de astăzi. Ca întotdeauna, într-un limbaj simplu, cât mai clar și cu un număr minim de termeni.

Puțină teorie

Orice document de pe un computer sau de pe Internet, așa cum am spus, este stocat sub formă de cod binar. De exemplu, dacă utilizați codificarea ASCII, atunci litera „K” va fi scrisă ca 10001010, iar în Windows 1251 simbolul – Љ este ascuns sub acest număr. Drept urmare, dacă un browser sau un program accesează un alt tabel și citește coduri Windows 1251 în loc de ASCII, cititorul va vedea un simbol care este complet de neînțeles pentru el.

Întrebarea logică este, de ce să vă obosiți să veniți cu atâtea tabele cu coduri? Faptul este că, pe lângă alfabetul rus, există și engleză, germană și chineză. După unele estimări, există aproximativ 200.000 de caractere. Deși, nu prea am încredere în aceste statistici, amintindu-mi japoneză.

Nu uitați că pentru literele majuscule și mici trebuie să veniți cu propriul cod, există virgule, liniuțe și așa mai departe.

Cu cât sunt mai multe simboluri în tabel, cu atât este mai lung codul pentru fiecare dintre ele, ceea ce înseamnă că greutatea documentului devine mai mare.

Imaginează-ți dacă o carte cântărește 4 GB! Ar dura foarte mult timp pentru a încărca și a ocupa tot spațiul liber de pe computer. Decizia de a descărca nu ar părea ușoară.

Dacă te gândești la site-uri web, este în general înfricoșător să te gândești la ce s-ar fi întâmplat. Fiecare pagină a durat mai mult de o oră pentru a se deschide chiar și pe fibră optică de mare viteză! Cred că telefoanele mobile ar putea fi aruncate în siguranță. Le poți folosi în aer liber chiar și cu 4G? Mă îndoiesc.

Din aceste motive, fiecare programator a încercat la un moment dat să vină cu propriul său tabel de simboluri. Pentru a facilita utilizarea și pentru a menține greutatea optimă.

Microsoft, de exemplu, a creat Windows-1251 pentru segmentul în limba rusă. Desigur, are avantajele și dezavantajele sale. La fel ca orice alt produs.

În zilele noastre, doar 2% din toate paginile de pe Internet sunt scrise în 1251. Majoritatea webmasterilor folosesc UTF-8. De ce este asta?

Dezavantaje și avantaje

UTF-8, spre deosebire de Windows-1251, este o codificare universală care conține litere de diferite alfabete. Există chiar și UTF-128, care conține toate limbile - Teulu, Swahili, Laoțiană, Malteză și așa mai departe.

UTF-8 este mai sărac, literele ocupă mult mai puțin spațiu și ocupă doar un octet de memorie, ca în 1251. UTF conține caractere rare din alte limbi sau caractere speciale. Acestea cântăresc 5-6 octeți fiecare, dar sunt utilizate extrem de rar în document.

Această codificare este mai atentă și, prin urmare, majoritatea aplicațiilor o folosesc implicit. Adică, dacă nu spuneți programului ce codificare utilizați, atunci primul lucru pe care îl va verifica este UTF-8.

Când creați un document HTML pentru un site web, le spuneți browserelor ce tabel să se uite atunci când decodificați înregistrările.

Pentru a face acest lucru, trebuie să introduceți următoarele date în eticheta head. După simbolurile „charset=" vine fie UTF, fie Windows, ca în exemplul de mai jos.

<meta http-equiv = conținut „Tip de conținut” = „text/html; charset=windows-1251”>

Dacă pe viitor doriți să schimbați ceva și să introduceți o frază în albaneză folosind acest tabel de decodare, atunci nimic nu va funcționa, deoarece codificarea nu acceptă această limbă. UTF-8 vă va permite să faceți acest lucru fără probleme.

Dacă sunteți interesat de crearea corectă a unui site web, atunci vă pot recomanda cursul lui Mikhail Rusakov „ Crearea și promovarea site-ului web de la A la Z ».


Conține multe - 256 de lecții care acoperă JavaScript și XML. Pe lângă limbajele de programare, vei putea înțelege cum să monetizezi un site, adică să faci mai mult profit mai rapid și mai mult. Unul dintre puținele cursuri care explică tot ce ai nevoie atât de detaliat.

Învăț de un an acum. la școala de bloggeri Alexander Borisov . Este nevoie de multe ori mai mult timp, finalul nu este încă în vedere, dar nu este mai puțin exhaustiv și discipline. Motivează să continue dezvoltarea.

Ei bine, dacă apar întrebări, nu este nevoie să căutați pe Internet. Există întotdeauna un mentor competent.


Cumva am iesit in afara subiectului. Să revenim la codificări.

Baze de date pentru baie

Când vine vorba de PHP, totul este în general înfricoșător. Am vorbit deja despre bazele de date, acestea sunt folosite pentru a accelera site-ul. De obicei, nu apelați la ei, dar atunci când apare nevoia de a transfera un site, deveniți neliniştit.

Dificultățile se întâmplă tuturor, indiferent de experiența dvs. de muncă, de vechime sau de vechime. Unele pagini din baza de date pot conține toate caracterele disponibile pentru Windows 1251, altele, de exemplu, în șabloane de pagină, într-o codificare diferită.

Până când este nevoie de transfer, totul funcționează și funcționează, deși nu în totalitate corect. Dar după mutare, încep necazurile. În mod ideal, ar trebui să utilizați fie numai UTF, fie Windows 1251, dar, de fapt, astfel de deficiențe se întâmplă întotdeauna tuturor.

Pentru ca decriptarea să fie consecventă, trebuie să introduceți codul mysql_query ("SET NAMES cp1251"). În acest caz, conversia va fi efectuată folosind un alt protocol - cp1251.

htaccess

Dacă decideți insistent să utilizați 1251 pe site-ul dvs., atunci ar trebui să găsiți sau să creați un fișier htaccess. El este responsabil pentru setările de configurare. Va trebui să adaugi încă trei rânduri pentru ca totul să vină împreună.

DefaultLanguage ru; AddDefaultCharset windows-1251; php_value default_charset „cp1251”

DefaultLanguage ru; AddDefaultCharset windows-1251; php_value default_charset „cp1251”

Vă recomand în continuare să luați în considerare utilizarea UTF-8. Este mai popular, mai simplu și mai bogat. Indiferent de deciziile pe care le iei acum, este important să poți corecta totul mai târziu. Adăugarea unei versiuni în limba engleză a site-ului folosind această codificare va fi mult mai ușoară. Nimic nu trebuie reparat.

Decizia este la tine. Aboneaza-te la newsletter pentru a afla cat mai repede unde sa inveti pentru a nu repeta greselile altora, precum si care bloggeri primesc mai multi vizitatori.

Ne revedem și mult succes în demersurile tale.

Dacă codificarea este incorectă, întregul site sau o parte a acestuia este afișat ca „kryapozyablov”, adică. caractere ciudate care fac textul imposibil de citit. Această situație poate apărea dacă codarea serverului web este configurată incorect sau dacă nu există setări. Să luăm în considerare posibilele opțiuni și modalități de rezolvare a problemelor

Codificare incorectă a paginii HTML

Să creăm un fișier de test:

Sudo gedit /var/www/html/encoding.html

Să copiem în el:

Verificare codificare



Să deschidem acest fișier în browser

După cum puteți vedea, codificarea este detectată incorect de browser:

Există mai multe modalități de a corecta această situație. Să începem cu cel mai simplu lucru - specificați în mod explicit codificarea paginii web. Acest lucru se face printr-o metaetichetă, care trebuie să fie localizată în interiorul etichetei cap:

Să adăugăm această linie la fișierul nostru de testare, astfel încât să arate astfel:

Verificare codificare

Fișier de testare pentru a verifica codificarea



După cum putem vedea în următoarea captură de ecran, problema este rezolvată:

Dacă codarea fișierului dvs. este diferită de UTF-8, apoi înlocuiți-l cu Windows-1251 sau unul care se potrivește cu codificarea paginii web. Pentru a afla cum să detectați codificarea fișierelor, aruncați o privire.

Acesta a fost cel mai simplu mod de a remedia problema de codificare - fără a modifica setările serverului.

Să readucem fișierul nostru de testare la starea inițială și să continuăm să studiem modalități de a specifica codificarea.

Dacă fișierele .htaccess activate de setările Apache, aceste fișiere pot fi folosite pentru a specifica codificarea paginilor trimise de serverul web. Pentru a activa suportul pentru fișiere .htaccessîn fișierul de configurare Apache ( /etc/apache2/apache2.conf) găsiți un grup de linii

Opțiuni Indexuri FollowSymLinks AllowOverride None Solicită toate acordate

Și înlocuiește-l

AllowOverride Nici unul

AllowOverride All

După aceasta, serverul trebuie repornit.

Sudo systemctl reporniți apache2.service

Fişier .htaccess trebuie plasat în același director cu site-ul. Site-ul meu este găzduit în directorul rădăcină al serverului web. Dacă aveți același lucru, atunci acum în folder /var/www/html/ creați un fișier .htaccessși adăugați directiva la acesta AddDefaultCharset după care indicați codificarea dorită. Exemple

AddDefaultCharset UTF-8

AddDefaultCharset windows-1251

Puteți specifica o codificare care va fi aplicată numai fișierelor cu un anumit format:

AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

Setul de fișiere poate fi orice, de exemplu:

AddCharset utf-8 .html .css .php .txt .js

Următoarea opțiune este o alternativă și vă permite, de asemenea, să setați codificarea pentru fișiere de un anumit tip, necesită activarea acesteia mod_headers:

Setul antet Content-Type „text/html; charset=utf-8”

O altă opțiune care poate fi folosită și în fișier .htaccess pentru a seta codarea UTF-8:

IndexOptions +Charset=UTF-8

Dacă site-ul este în PHP, atunci poate fi necesar să duplicați codificarea cu php_value default_charset:

AddDefaultCharset windows-1251 php_value default_charset "cp1251"

În loc să creați un fișier .htaccess, puteți seta codarea în fișierul de configurare a serverului web. Pentru Apache CentOS/Fedora acesta este fișierul httpd.conf, iar pe Debian/Ubuntu acesta este fișierul apache2.conf. Adăugați următoarea linie pentru a seta codificarea și reporniți serverul web pentru ca modificările să aibă efect:

AddDefaultCharset UTF-8

Cum să setați codificarea UTF-8 în PHP

În scriptul PHP, codificarea este setată la antet, De exemplu:

Antet ("Content-Type: charset=utf-8");

De obicei, alături de codificare, este indicat și tipul de conținut (în exemplu, opțiunea pentru o pagină HTML):

Antet ("Content-Type: text/html; charset=utf-8");

O altă opțiune pentru fluxul RSS:

Antet ("Content-type: text/xml; charset=utf-8");

Amintiți-vă că funcția antet trebuie apelat înainte de orice ieșire către browser. În caz contrar (dacă ieșirea în browser a fost deja făcută), atunci anteturile au fost deja trimise. Evident, în acest caz nu se mai poate schimba. Dacă un mesaj de eroare a fost trimis în browser, atunci anteturile au fost deja trimise, iar utilizarea antetului va cauza o eroare. Pentru a verifica dacă anteturile au fost deja trimise, utilizați headers_sent.

Metoda descrisă funcționează numai atunci când scriptul PHP generează complet conținutul paginii. Ar trebui să salvați paginile statice (cum ar fi html) în codificare utf-8. Majoritatea serverelor web vor lua notă de codificarea fișierului și vor adăuga un antet în consecință. De fapt, salvarea unui fișier PHP în codificare utf-8 va duce la același rezultat.

Codificarea incorectă a rezultatelor din baza de date MySQL

Dacă site-ul dvs. este format dintr-o parte statică (șablon) și o parte dinamică, care este formată din datele primite din baza de date, atunci poate apărea o situație când o parte a site-ului are codificarea corectă, iar o altă parte a site-ului are codificarea greșită. unu. În acest caz, este inutil să schimbați setările serverului web - din moment ce, totuși, o parte a paginii va avea codificarea greșită.

Trebuie să începeți prin a determina codificarea tabelelor. Te poți uita la phpMyAdmin:

Atenție la coloana " Comparaţie", intrare" utf8_unicode_ci„ înseamnă că este folosită codificarea UTF-8.

Vă puteți conecta la SGBD MySQL și puteți verifica codificarea tabelelor fără phpMyAdmin. Pentru aceasta:

Mysql -u root -p

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

AFIȘAȚI BAZELE DE DATE;

Să presupunem că vreau să caut codificarea tabelelor din baza de date information_schema

USE information_schema;

Dacă ați uitat numele tabelelor, rulați:

AFIȘAȚI COLONELE COMPLETE DE LA table_name;

De exemplu:

AFIȘAȚI COLONANELE COMPLETE DIN GLOBAL_STATUS;

Veți vedea așa ceva:

Vezi coloana Colaţionare. In cazul meu acolo utf8_general_ci, e ca și cum utf8_unicode_ci, codificare UTF-8. Apropo, dacă nu știți care este diferența dintre codificări utf8_general_ci, utf8_unicode_ci, utf8mb4_general_ci, utf8mb4_unicode_ci, și, de asemenea, ce codificare să alegeți pentru baza de date MySQL, apoi uitați-vă.

Acum că știm codificarea (în cazul meu este UTF-8), de fiecare dată când vă conectați la DBMS MySQL trebuie să executați interogări secvenţial:

SET NUME UTF8 SET CARACTER SET UTF8 SET character_set_client = UTF8 SET character_set_connection = UTF8 SET character_set_results = UTF8

În PHP se poate face ceva de genul:

$this->mysqli = new mysqli($server, $nume utilizator, $parolă, $nume bază); if ($this->mysqli->connect_error) ( $this->errorHandler_c->logError(1, "Eroare de conectare (" . $this->mysqli->connect_errno . ") " . $this->mysqli->connect_error , $_SERVER ["REQUEST_URI"] ) $this->mysqli->query("SET NAMES UTF8"); $this->mysqli->query("SETARE SET DE CARACTERE UTF8"); $this->mysqli->query("SET character_set_client = UTF8"); $this->mysqli->query("SET character_set_connection = UTF8"); $this->mysqli->query("SET character_set_results = UTF8");

Rețineți că UTF8 trebuie să-l înlocuiți cu codificarea care este folosită pentru tabelele dvs.

Modificarea codificării fișierului

Dacă decideți să mergeți în altă direcție și în loc să instalați o nouă codificare, schimbați codificarea fișierelor, apoi uitați-vă la articolul „”. Vă spune cum să aflați codificarea curentă a fișierelor și cum să convertiți fișierele la orice codificare (nu doar UTF-8).

Cum să aflați ce codificare trimite serverul

Dacă doriți să aflați ce setări de codare are serverul web (ce codificare trimite în anteturi), atunci utilizați următoarea comandă:

Curl URL -s -o /dev/null -D /dev/stdout | grep -E "carset"

În ea în schimb URL introduceți adresa reală a site-ului pe care îl verificați. Dacă site-ul folosește HTTPS, atunci specificați adresa site-ului împreună cu protocolul, de exemplu

Curl https://softocracy.ru -s -o /dev/null -D /dev/stdout | grep -E "carset"

Ce codificare să alegeți pentru un site web

Vlad Merjevici

Metaetichetele sunt folosite pentru a stoca informații destinate browserelor și motoarelor de căutare. De exemplu, motoarele de căutare accesează metaetichete pentru a obține descrieri ale site-urilor, cuvinte cheie și alte date.

Meta-etichete pentru motoarele de căutare

Există o opinie printre dezvoltatorii de site-uri web potrivit căreia metaetichetele scrise corect vă permit să ajungeți în topul motoarelor de căutare. De fapt, acest lucru nu este adevărat; numai metaetichetele nu vă vor ajuta să creșteți sus, dar conținutul de metaetichetă prost executat poate înrăutăți clasarea site-ului.

Două meta-etichete sunt concepute special pentru motoarele de căutare: descriere și cuvinte cheie. Unii webmasteri au adăugat cuvinte cheie la secțiunea de cuvinte cheie care nu au nicio legătură cu subiectul site-ului, dar s-au bucurat totuși de un oarecare succes în rândul vizitatorilor motoarelor de căutare. Cu toate acestea, după ceva timp, motoarele de căutare au învățat să facă față acestui fenomen și să verifice conținutul unei pagini web pentru conformitatea cu cuvintele cheie menționate.

Câteva principii legate de metaetichete:

  • nu includeți cuvinte cheie care nu sunt conținute în paginile dvs.;
  • nu repeta cuvintele cheie;
  • utilizați meta-etichete în scopul propus;
  • faceți descrierea și lista de cuvinte cheie diferite pentru fiecare pagină a site-ului, ținând cont de conținut.

Descriere

Majoritatea motoarelor de căutare afișează conținutul câmpului de descriere (exemplul 1) atunci când afișează rezultatele căutării. Dacă această etichetă nu este pe pagină, atunci motorul de căutare va enumera pur și simplu primele cuvinte găsite pe pagină, care, de regulă, nu sunt foarte relevante pentru subiect.

Exemplul 1: Utilizarea descrierii

Descriere

Cuvinte cheie

Această metaetichetă a fost menită să descrie cuvintele cheie care apar pe pagină (Exemplul 2). Însă, ca urmare, acțiunile oamenilor care doresc să ajungă în topul motoarelor de căutare prin orice mijloace necesare au fost acum discreditate. Prin urmare, multe motoare de căutare omit acest parametru.

Exemplul 2: Utilizarea cuvintelor cheie

Cuvinte cheie

Cuvintele cheie pot fi listate separate prin spații sau virgule. Motoarele de căutare în sine vor converti intrarea în formularul pe care îl folosesc.

Încărcare automată a paginilor

Pentru a descărca automat un document nou după o anumită perioadă de timp, utilizați instrucțiunea http-equiv="refresh" (exemplul 3).



Browserul va înțelege această intrare să aștepte 5 secunde și apoi să încarce noua pagină specificată în parametrul URL, în acest caz un link către site-ul web.

Această metaetichetă vă permite să creați o redirecționare către un alt site. Dacă nu este specificată nicio adresă URL, pagina curentă se va reîmprospăta automat după numărul de secunde specificat în atributul de conținut.

Codificare

Pentru a spune browserului în ce codificare se află caracterele de pe o pagină web, trebuie să setați parametrul . Pentru sistemul de operare Windows și alfabetul chirilic, setul de caractere ia de obicei valoarea utf-8 sau windows-1251 (exemplul 4).

Exemplul 4. Selectarea codificării curente

Codificare

chirilic



Dacă nu este specificată nicio codificare, browserul însuși încearcă să determine ce tip de caractere este folosit în document și selectează automat codificarea necesară. Este posibil ca browserul să nu recunoască întotdeauna cu acuratețe limba unei pagini web și, în unele cazuri, va sugera codificarea vietnameză în loc de chirilica. Din acest motiv, este mai bine să includeți întotdeauna linia dată. Cu toate acestea, există circumstanțe în care specificarea codificării poate provoca anumite prejudicii. De exemplu, serverul web folosește automat transcodarea datelor în KOI-8, iar browserul, când întâlnește parametrul charset=windows-1251, convertește textul în codificare Windows. Acest lucru are ca rezultat o dublă schimbare de caractere, nu este ușor de citit. Din fericire, o astfel de problemă este deja de domeniul trecutului, în orice caz, poate fi ușor identificată și neutralizată la nivel de server.

Destul de des, bloggerii începători, și nu numai începătorii, se confruntă cu problema codificării paginilor html. Când, în loc de text și caractere care pot fi citite, sunt afișate CRACKS de neînțeles. Acesta este numele dat simbolurilor care nu corespund cu cele care ar trebui să fie afișate pe pagină. De unde vin hieroglifele de neînțeles?

Pentru a înțelege acest lucru, trebuie să înțelegeți ce este codificarea paginii html. Orice text de pe un computer este reprezentat ca un set de octeți. În fiecare dintre acești octeți, un singur caracter este codificat cu un anumit cod. Pentru a descifra sau decoda corect un set de octeți și a-l prezenta într-o formă care poate fi citită de om, browserul trebuie să se potrivească cu unul dintre tabelele de coduri.

Codificarea de bază este codificarea ASCII, care conține coduri pentru 128 de caractere din alfabetul latin și caractere speciale (paranteze, zăbrele etc.). Apoi au apărut primele codificări de caractere rusești CP866 și KOI8-R, iar de la ele a venit codificarea Windows-1251 cunoscută webmasterilor de astăzi. Chiar dacă toate aceste codificări sunt concepute pentru a afișa text rusesc, toate diferă ca cod una de alta.

Dacă textul a fost scris în codificare CP866 și browserul încearcă să-l decodeze folosind tabelul de coduri Windows-1251, atunci vom obține cuvinte de necitit. Pe lângă numele codificărilor pe care le-am dat aici, există și o mulțime de citate. Cu o asemenea abundență de tabele de coduri, a apărut problema compatibilității codificării. Problema creării unei codări universale a devenit foarte urgentă. Astăzi, codificarea universală utf-8 a fost inventată. Când programați un site web, există patru puncte care necesită respectarea unui singur standard de codare a textului.

  • Codificări de script.
  • Codificarea tabelului MySQL.
  • Codificarea paginii HTML în sine.
  • Localitatea utilizată de browserul utilizatorului.

În toate aceste componente ale site-ului, ar trebui utilizată o singură codificare - de preferință utf-8, deoarece este universală. Dacă apăsați combinația de taste CTRL+ U, puteți vizualiza codul paginii, care arată ce codificare este utilizată pentru acest document.

Dacă vă deschideți blogul și vedeți câteva caractere ciudate în loc de caractere rusești, înseamnă că codificarea este setată incorect.

Cum se schimbă codificarea?

Pentru a elimina erorile și problemele legate de codificarea blogului dvs., folosim un client FTP. Cu ajutorul acestuia, copiați fișierul wp-config.php pe „Desktop” al computerului și deschideți-l folosind editorul de text Notepad++. Acest fișier conține informații despre blogul dvs. - inclusiv parole, codificarea bazei de date și multe altele. Să vedem dacă codarea este alta, trebuie schimbată în UTF-8.

  • -salvați în această codificare.
  • -în interiorul codului bazei de date, schimbați codificarea în UTF-8.

Salvam fisierul in editorul Notepad++, in valoarea “UTF-8 fara semnatura BOM” si incarcam fisierul in gazduirea noastra, adica schimbam vechiul fisier wp-config.php de pe gazduire. , pe nou.

De regulă, aceste acțiuni sunt suficiente pentru ca totul să fie afișat corect pe blogul tău. Dacă după acești pași nimic nu a funcționat, puteți încerca o altă modalitate de a schimba codificarea. Pentru a face acest lucru, trebuie să faceți modificări fișierului .htaccess. Pentru a corecta acest lucru, deschideți fișierul .htaccess folosind editorul Notepad++ și adăugați una dintre aceste rânduri la început:

  • AddDefaultCharset UTF-8
  • CharsetDisable Activat
  • CharsetDefault UTF-8
  • CharsetSourceEnc UTF-8

Poate fi suficient să schimbi una dintre opțiuni, uneori, prima este suficientă. Dacă nu funcționează, parcurgem manual următoarele opțiuni, introducând următoarele opțiuni una câte una. Nu uitați succesiunea acțiunilor:

  1. Deschideți fișierul în editor.
  2. Facem schimbări.
  3. Salva.
  4. Încărcați pe găzduire.
  5. Sa verificam.

De asemenea, vreau să menționez una dintre problemele care pot apărea și pe care am întâmpinat-o la crearea paginilor de captură. Când încărcați fișiere de pagină de captură în găzduire, poate apărea și o situație de nepotrivire de codificare. În acest caz, trebuie să corectați fișierul index.html. Pentru a face acest lucru, folosind FaleZilla, extrageți fișierul și transferați-l pe „Desktop” al computerului dumneavoastră. Apoi, deschideți fișierul folosind Notepad obișnuit.

După ce fișierul a fost deschis în Notepad, faceți clic stânga pe „Fișier” și „Salvare ca...”.