Codare chirilică în html. Rezolvarea problemelor legate de codificarea incorectă a paginilor web

Una dintre cele mai multe probleme comune cu care se confruntă un începător Webmaster(și nu doar începători), asta probleme cu codarea pe site. Chiar și pentru mine apare constant când creez site-uri web " abracadabra„Dar, din fericire, știu perfect cum să rezolv această problemă, așa că pun totul în ordine în câteva secunde. Și în acest articol voi încerca să te învăț la fel de repede rezolva probleme legate de codificare pe site.

Primul lucru care merită remarcat este că toate problemele cu apariția „abracadabra” sunt asociate cu o nepotrivire între codificarea documentului și codificarea setată de browser. Să spunem un document în Windows-1251, dar din anumite motive browserul se afișează UTF-8. Și sursa unei astfel de discrepanțe pot fi următoarele motive.

Primul motiv

Metaeticheta este scrisă incorect tip de conținut. Fii atent, ar trebui să conțină întotdeauna codificarea în care este scris documentul tău.

Al doilea motiv

Se pare că metaeticheta este scrisă așa cum doriți, iar browserul afișează exact ceea ce doriți, dar din anumite motive există încă probleme cu codificarea. Vinovatul aici este aproape sigur că documentul în sine are o codificare diferită. Dacă lucrezi în Notepad++, apoi în dreapta jos există numele codificării documentului curent (de exemplu, ANSI). Dacă puneți o metaetichetă UTF-8, iar documentul în sine este scris ANSI, apoi faceți conversia în UTF-8(prin meniu " Codificări"și punct" Convertiți în UTF-8 fără BOM").

Al treilea motiv

Al patrulea motiv

Și, în sfârșit, ultimul motiv popular este problema de codificare a bazei de date. Mai întâi, asigurați-vă că toate tabelele și câmpurile sunt scrise în aceeași codificare, care se potrivește cu codificarea restului site-ului. Dacă acest lucru nu ajută, imediat după conectarea în script, executați următoarea solicitare:

SETĂ NUMELE „utf8”

În loc de " utf8" poate exista o codificare diferită. După aceea, toate datele din baza de date ar trebui să apară în codificarea corectă.

În acest articol, sper că am explicat, cel puțin, 90% dintre problemele asociate cu apariția de „faracie” pe site. Acum trebuie să vă confruntați cu o problemă atât de populară și simplă precum codificarea incorectă în cel mai scurt timp.

Decodor pentru a afla codificare fişierși decodifică caracterele. Pentru a face acest lucru, deschideți programul browser și urmați linkul http://www.artlebedev.ru/tools/decoder/. Acest decodor a fost creat pentru a decoda mesajele e-mail pentru a ajuta utilizatorii să citească neclar mesaje e-mail.

Pentru a afla codificare text, copiați-l în clipboard, apoi faceți clic în câmpul decodor butonul din dreapta mouse-ul și selectați comanda „Lipire”. Apoi, faceți clic pe butonul „Decriptare”. Textul decodat va apărea în câmp, iar mai jos pe pagină va fi indicată codificarea sursă și codificarea în care a fost recodat textul.

Descărcați program special pentru a determina codificarea, precum și pentru a transcoda textul, de exemplu, programul Tcode. Pentru a face acest lucru, urmați linkul http://it.sander.su/download.php, faceți clic pe linkul TCode, așteptați să se încarce fişier. După ce descărcarea este completă, dezarhivați arhiva în orice folder și rulați fișier executabil.

Lipiți text din fişier, pentru care trebuie să aflați codificare sau selectați butonul „Deschideți fișierul” din bara de instrumente. Apoi, faceți clic pe butonul din partea de jos a ecranului „Recodificare”. Text de la fişier va fi recodat automat la cel corect codificare. Codificarea originală va fi afișată în bara de stare și va fi afișat și procentul de recunoaștere a caracterelor. Trecând cu mouse-ul peste această linie, puteți determina care simboluri nu au fost un program.

Instalați AkelPad, care poate recunoaște codificările fișierelor. Pentru a face acest lucru, urmați linkul http://akelpad.sourceforge.net/ru/download.phpși selectați versiunea cerută pentru a descărca. După instalare, lansați programul. Lipiți text din fişier pentru a determina codificarea.

Selectați meniul „Encoding” și comanda „Define”. codificare„sau sună această comandă scurtătură de la tastatură Alt+F5. Va apărea o fereastră în care va fi indicată codarea sursă și va oferi și posibilitatea de a transcoda textul în cel necesar pentru citirea textului codificare.

Surse:

  • Codificarea textului ASCII

Uneori, fișierul sau pagina web necesară nu se deschide, iar atunci când este afișat, sunt vizibile doar caractere ciudate. Există momente când un editor de text sau un browser nu poate determina necesarul codificare. În acest caz, trebuie să îl selectați singur folosind utilitati suplimentare.

vei avea nevoie

  • Editor de text cu care funcționează un număr mare codificări sau program de decodor.

Instrucţiuni

Dacă un fișier a fost deschis incorect într-un editor, nu este deloc că are un fișier incorect codificare. Merită să încercați același fișier din program. Una dintre utilitățile care, în cele mai multe cazuri, determină cu exactitate set necesar caractere este editorul Notepad++.

Există și cei care sunt capabili să descifreze texte rusești în diferite codificări. Fără îndoială, liderul este aplicația Stirlitz pentru Windows. Cunoaște aproape toate codurile și cunoaște multe metode de transliterare. Mai mult, acest program este capabil să efectueze operațiuni de transformare a textului din format original la oricare altul.

În Linux, pentru a deschide orice fișier care conține un fișier necunoscut codificare, puteți folosi câteva comenzile consolei transformare sau programe gata făcute. Sub QT, există o aplicație numită QTexTransformer, care vă va ajuta să determinați codificări și să faceți transformările corespunzătoare. Sub Linux, există multe module lingvistice scrise în Perl. De exemplu, Lingua DetectCharset sau DetectCyrillic (pentru a determina Caractere chirilice). Afișează bine fișierele program Windows mousepad. Pentru a converti, puteți utiliza și consola „econv path_to_file”, care va determina independent curentul codificareși îl convertește în localitatea curentă.

Sfaturi utile

Bun cu alegere codificarea necesară face față procesor de text Cuvânt. Chiar dacă fișierul nu a fost deschis în alte editoare, funcția „Selectare automată” va funcționa în el.

Surse:

  • Unul dintre cele mai cunoscute decodoare de text din 2019

Probabil că toată lumea s-a confruntat cel puțin o dată cu o astfel de problemă ca o codificare definită incorect. La electronic cutie poştală o scrisoare sosește cu caractere „izibile” în loc de litere rusești obișnuite, sau îți dau document text, dar nu este posibil să-l citiți, deoarece este plin de „doodle-uri” de neînțeles. Toate aceste cazuri sunt exemple de codare definită incorect, adică expeditorul a folosit o codificare atunci când a creat un mesaj sau un document și încercați să deschideți textul în altul.

vei avea nevoie

  • Computer care rulează un sistem de operare, acces la internet, editor de text (de exemplu, AkelPad)

Instrucţiuni

Există mai multe moduri de a determina acest lucru. Unul dintre ei este servicii speciale prin definiţie codificare în . De exemplu, accesați site-ul web http://charset.ru/, introduceți „izibil” în câmpul special și faceți clic pe butonul „Decodare”.

Încercați să detectați codificarea automat folosind editor de text. Faptul este că mulți editori de text (de exemplu, AkelPad) pot recunoaște automat codificarea „izibilă”. Pentru a face acest lucru, selectați meniul de sus„Codări” - „Definiți codificarea” sau apăsați ALT+F5 (în editorul de text AkelPad).

Surse:

  • AkelPad

Text în fișier e-mail, pe o pagină web poate fi tastat în orice limbă și stocat într-o varietate de codificări computerizate. Nu este vorba doar de diversitate codificări moderne, care sunt mai mult sau mai puțin ordonate, dar și păstrarea documentelor care au în primul rând valoare istorică. Există, de asemenea, cazuri în care un document a fost salvat de mai multe ori în diferite codificări. Dacă textul se deschide ca un set de caractere de neînțeles, el trebuie adus într-o formă care să fie lizibilă.

Destul de des, bloggerii începători, și nu numai începătorii, se confruntă cu probleme de codificare pagini 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 acesta este html codificarea paginii. Orice text de pe un computer este reprezentat ca un set de octeți. În fiecare dintre acești octeți un anumit cod– este codificat un singur caracter. 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, semne hash, etc.). Apoi au apărut primele codificări de caractere rusești CP866 și KOI8-R, iar din ele a venit cea cunoscută astăzi web masters Codificarea Windows este 1251. 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, iar browserul încearcă să-l decodeze utilizând tabelul de coduri Windows-1251, atunci vom obține cuvinte care nu pot fi citite. 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ă conformitate: standard uniform codificarea 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 tastele CTRL+ U puteți vedea codul paginii, care arată ce codificare este folosită 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 codarea blogului dvs., folosim Client FTP. Cu ajutorul acestuia, copiați fișierul wp-config.php pe „Desktop” al computerului și deschideți-l folosind text Editor de 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.

Salvăm fișierul în editorul Notepad++, în valoarea „UTF-8 fără semnătură BOM” și încărcăm fișierul pe găzduirea noastră, adică îl schimbăm pe găzduire dosar vechi wp-config.php , la unul 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. Să verificăm.

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...”.

Setați setul de caractere

Metaetichetă

Trebuie să adăugați o etichetă meta specială la fiecare pagină (sau șablon de antet) care să spună browserului ce set de caractere să folosească pentru a afișa texte. Această etichetă este standard și de obicei arată astfel:

set de caractere=UTF-8» />

set de caractere="utf-8"/> (opțiune pentru HTML 5)

Trebuie să-l lipiți în secțiune - mai bine la început, imediat după cea de deschidere :

Etichetă de metacodare

Prin .htaccess (dacă toate celelalte nu reușesc)

De obicei, primele două opțiuni sunt suficiente și browserele afișează textul cum ar trebui. Dar unii dintre ei pot avea probleme și de aceea poți apela la ajutor fișier .htaccess.

Pentru a face acest lucru, trebuie să scrieți următoarea linie în ea:

AddDefaultCharset utf-8

Asta este. Dacă aplicați secvențial aceste 3 metode de setare a codificării în proiectul dvs., atunci probabilitatea este că că totul va fi afișat așa cum trebuie, aproape de 100%.

Cum să „vezi” ce se ascunde în spatele simbolurilor ciudate pe un site web?

Dacă accesați o pagină web, vedeți „cuvinte nebunești” și doriți să vedeți text normal, atunci există doar două moduri:

  • informați proprietarul site-ului pentru ca totul să fie configurat corect
  • încercați să ghiciți singur codificarea. Acest lucru este făcut mijloace standard browsere. În Chrome, de exemplu, trebuie să faceți clic pe meniu „Instrumente => Codificare” și dintr-o listă uriașă selectați setul potrivit de caractere (adică ghiciți).

Din fericire, aproape toate proiectele web moderne sunt realizate în codificare UTF-8, care este „universală” pentru diferite alfabete și, prin urmare, este din ce în ce mai puțin probabil să vedeți aceste caractere ciudate pe Internet.

Pentru ca paginile site-ului dvs. să fie afișate corect în toate browserele și pe tot felul de dispozitive, trebuie să aveți grijă să setați codificarea corectă. Nerespectarea unor condiții, pe care le vom discuta în detaliu astăzi, poate duce la faptul că textul se transformă într-un set de caractere fără sens care sunt pur și simplu imposibil de citit (krakozyabry).

De ce sunt afișate texte proaste în locul textului normal?

Fiecare pagină de pe site-ul dvs. trebuie să aibă o anumită codificare. Despre ce codificare este folosită în acest moment trebuie comunicat browserului prin trecerea antetelor speciale. În aceste anteturi trebuie să specificați codificarea care corespunde celei pe care o utilizați în corpul documentelor postate pe site (pe paginile acestuia).

Browserele moderne pot determina ele însele codificarea documentului dacă webmasterul a uitat să-l specifice în mod explicit. Uneori se întâmplă să apară neconcordanțe între „opinia” browserului și realitate, de unde un set de caractere care nu pot fi citite. Un set de prostii poate lua diferite tipuri, uneori vor fi doar simboluri ciudate, similare cu hieroglifele antice, iar uneori vor fi doar întrebări sau întrebări în interiorul diamantelor negre. De în general Nu este atât de important ce fel de prostii afișează browserul, dar ceea ce este important este că o persoană nu le poate citi.

Dacă te confrunți cu problema unei codificări specificate incorect și vezi pe site-ul tău ceva ce nu poți citi, în primul rând, folosește un Decodor special dezvoltat în studioul lui Artemy Lebedev. Pentru a face acest lucru, pur și simplu copiați textul pe care doriți să-l decriptați, lipiți-l în câmpul special și faceți clic pe „Decriptați”. Dacă decodarea are succes, veți vedea text lizibil, precum și codificarea originală și calea prin care a trebuit să parcurgă programul pentru a scoate rezultatul.

Toate acestea sunt necesare, mai degrabă, pentru utilizatorii avansați, pentru care informațiile primite le pot ajuta într-un fel. Poate că rezultatul acțiunilor programului vă va da o idee și vă veți da seama de unde provin prostiile de pe site-ul dvs. și veți corecta rapid situația. Și dacă manipulările făcute nu vă spun absolut nimic, atunci să mergem mai departe.

Cum să alegi codificarea corectă

În acest articol, nu vom aprofunda ce tipuri de codificări există și cum diferă între ele, deoarece... Nu vrem să ne supraîncărcăm nici pe noi, nici pe tine informatii inutile, iar în sensul articolului de astăzi nu a fost cazul. Este demn de remarcat doar faptul că pe un site în limba rusă nu are absolut niciun rost să instalați codificarea Windows-1251, care este descrisă exhaustiv în minunatul articol Wikipedia. Chiar dacă toate textele de pe el vor fi scrise exclusiv în limba rusă și nu vor exista incluziuni de caractere nestandard. În schimb, trebuie doar să alegeți codificarea universală UTF-8, luând acest lucru ca un dat, fără a vă deranja capul cu informații inutile.

Faptul este că nu are rost să alegi o codificare pentru site-ul tău care acceptă doar caractere limbi slave, precum rusă, ucraineană, belarusă, sârbă, macedoneană și bulgară. De ce să te limitezi inițial și să te condamni la asta posibile problemeîn viitor. Ce veți face dacă trebuie să introduceți un caracter care nu este acceptat?

UTF-8 (din limba engleză Unicode Transformation Format) este un format de transformare Unicode pe opt biți care a primit recunoaștere la nivel mondial și a fost standardizat tocmai pentru a evita problemele asociate cu apariția de farfurii și confuzia cu textele care nu pot fi citite. Din care putem concluziona cu siguranță că în în acest caz, Trebuie să alegi cel mai mare dintre cele două rele și să dormi liniștit, fără a intra în detalii, pentru că totul este clar aici. Uită-te la dimensiunea lui Jupiter și a lui Venus pentru comparație.

Modalități de bază de a seta codificarea corectă

Destul de des, problemele cu codificarea site-ului apar nu pentru că nici una dintre condițiile despre care vă vom spune nu a fost îndeplinită, ci este suficient să nu îndepliniți doar una dintre ele pentru ca textul de pe site-ul dvs. să înceapă să se afișeze incorect. După ce ați setat codificarea la toate în modurile enumerate, problema va fi rezolvată cu o probabilitate de 99,9%. Am ajuns la această concluzie pe baza multor ani de experiență de lucru cu site-uri web pe diverse platforme de găzduire, folosind cele mai multe sisteme diferite administrarea și setările serverului.

Codificare în .htaccess - AddDefaultCharset

În primul rând, trebuie să setați codificarea implicită a tuturor paginilor site-ului folosind o directivă htaccess foarte utilă - AddDefaultCharset, care este tradus literal din Limba englezăînseamnă „Adăugați codificare implicită”. Acest lucru se face foarte simplu:

AddDefaultCharset UTF-8

Dacă nu știi ce este , apoi creează fișier textîn blocnotes și apoi cu folosind Total Comandant, redenumiți-l într-un fișier fără titlu cu extensia HTACCESS ( - exact așa ar trebui să arate Numele complet dosarul dvs.). După aceea, încărcați fișierul nou creat în directorul rădăcină al site-ului dvs. (în același loc în care se află fișierul executabil principal, de exemplu index.php). Și nu uitați să introduceți linia cu codificarea implicită pe care tocmai am furnizat-o.

Codificare folosind metacarset

Etichetele meta sunt capabile să trimită informații despre pagină către browser sub formă de antete speciale, dintre care unul este exact ceea ce avem nevoie - set de caractere. În general, metaetichetele pot avea până la 4 atribute diferite:

  1. conţinut;
  2. http-echiv;
  3. nume;
  4. sistem.

De fapt, dintre cele patru atribute prezentate, doar unul este necesar - conţinut, dar există și excepții. De exemplu, în cazul nostru, vom folosi o versiune scurtată a intrării și vom seta codarea folosind metaeticheta exact așa:

Vechiul format de înregistrare a căzut de mult în uitare și nu mai are rost să-l folosești:

După cum știți, metaetichetele sunt de obicei plasate în interiorul containerului cap. Toată lumea, fără excepție, probabil știe deja despre asta. Faceți această operațiune și vom trece la următorul articol din lista noastră.

Codificarea fișierelor folosind funcția PHP antet

Această metodă este potrivită doar pentru cei care au un site web implementat folosind cel mai popular limbaj de programare în acest moment, concentrat mai ales pe crearea de site-uri web - PHP ( Hyper Text preprocesor). Pentru a rezolva problema pusă în acest articol, vom folosi minunata funcție încorporată header(), concepută pentru a trece anteturi, asemănătoare meta tag-urilor, dar cu ușoară diferență că acțiunea este efectuată dintr-un script PHP, și nu prin intermediul Ieșire cod HTML.

Setați codificarea UTF-8 pentru un fișier utilizând funcția antet() destul de simplu - trebuie doar să lipiți codul dat chiar la începutul paginii, dar bineînțeles în domeniul PHP, care este notat astfel:sau cam asa ceva -.

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

Cel mai mult punct important iată că avem dreptul de a transmite antete numai dacă nu a existat nicio ieșire din script înainte. De aceea introducem acest cod până în partea de sus a paginii. Trebuie să faceți acest lucru cu înțelepciune și să înțelegeți bine ce se întâmplă, deoarece puteți fi sigur că introduceți un antet la începutul fișierului, dar este posibil să nu știți că acest fișier este folosit într-un alt fișier în care este este tras folosind funcția cere sau include după ce anumite informații au fost afișate pe ecran. Prin urmare, dacă nu înțelegeți prea bine despre ce vorbim acum despre care vorbim, mai bine mergi la următorul pasși reveniți la aceasta dacă cele 3 anterioare nu au ajutat să setați codificarea corectă a paginilor site-ului dvs.

Salvarea fișierelor în codificarea corectă

Unul dintre probabil cele mai frecvente motive pentru apariția fisurilor pe un site web este codificarea incorectă a fișierelor în sine utilizate pentru a genera documentul final. Cel mai adesea, această problemă apare în rândul programatorilor începători care tocmai fac primii pași în stăpânirea artei. Când unul dintre sistemele de administrare populare în prezent este selectat ca motor de site, această problemă poate apărea în cazuri foarte rare, dar dacă este utilizat, acest lucru se întâmplă în aproape fiecare al treilea caz.

După cum am convenit mai devreme, codificarea pe care o folosim pe toate, chiar și pe cele mai sofisticate site-uri în limba rusă, este UTF-8, așa că vom codifica toate fișierele care compun motorul site-ului în același format. Și pentru a modifica codificarea fișierului în sine, încărcat pe server, utilizați blocnotesul obișnuit furnizat de sistemul de operare sistem Windows Cu siguranță nu va fi suficient. Prin urmare, este mai bine să utilizați program terță parte, distribuit gratuit - Notepad++, care poate fi descărcat de pe site-ul oficial fără probleme.

După ce ați finalizat cu succes procesul simplu de instalare, va trebui să atribuiți acest program ca editor implicit, să faceți unele setări după gust și să modificați codificarea fișierului afișat incorect în același mod ca în captură de ecran. Aceste. trebuie să selectați „Codificare în UTF-8 (fără BOM)”. Un semn bun Dacă acesta a fost cazul, atunci inițial niciuna dintre opțiuni nu va fi selectată și vi se va solicita „Conversia în UTF-8 (fără BOM)”. Dacă vedeți acest lucru, asigurați-vă că au mai rămas doar câteva secunde înainte de a rezolva problema de codificare.

În plus, vreau doar să spun că trebuie să alegi exact fără BOM. În caz contrar, dacă codificați pur și simplu în UTF-8 (cu BOM), atunci vor fi creați octeți suplimentari la începutul fișierului. Ei încearcă să nu folosească BOM - Byte Order Mark pe web atunci când codifică în format UTF-8, deoarece acest lucru duce la erori prin interferarea cu interpretarea corectă PHP.

Ei bine, acum că toți pașii necesari au fost parcurși, cel mai probabil vei vedea text ușor de citit pe paginile site-ului tău și vei respira ușor :)