Bună ziua, dragi cititori ai blogului meu. Astăzi vom vorbi cu voi despre codificare. Dacă ați citit articolul meu despre cum să vizualizați codul paginii în browser. atunci știi că orice document de pe Internet nu este stocat în forma în care suntem obișnuiți să îl vedem. Este scris cu ajutorul simbolurilor și semnelor care sunt incomprehensibile omului. Cu textul la fel.
Există mai multe codificări și, prin urmare, câteodată vedeți simboluri ciudate atunci când deschideți o carte într-o aplicație mobilă sau copiind un articol pe un site, după ce ați modificat unele valori în setări, veți vedea alfabetul familiar la ochi.
Codarea ferestrelor-1251 - ce este, ce valoare are atunci când creați site-ul, ce caractere vor fi disponibile și care este cea mai bună soluție pentru ziua de azi? Toate acestea în articolul de astăzi. Ca întotdeauna, în limbaj simplu, este cât mai clară posibil și cu un minim de termeni.
Un pic de teorie
Orice document de pe computer sau de pe Internet, așa cum am spus, este stocat ca un cod binar. De exemplu, dacă utilizați codificarea ASCII, litera "K" va fi scrisă ca 10001010, iar ferestrele 1251 sub acest număr ascund simbolul - Š. În final, dacă browserul sau programul accesează alt tabel și consideră ferestrele 1251 în loc de ASCII, cititorul va vedea un simbol complet incomprehensibil.
Întrebarea este logică, ce a fost să inventăm o mulțime de tabele cu coduri? Faptul este că pe lângă alfabetul rus există și engleza, germana, chineza. Potrivit unor estimări, există aproximativ 200.000 de caractere. Deși, nu am încredere în această statistică, amintindu-mă de japonezi.
Nu uitați că pentru literele mari și minuscule trebuie să veniți cu codul dvs., există virgule, liniuțe și așa mai departe.
Cu cât mai mult în tabelul cu simboluri, cu atât este mai lung codul fiecăruia dintre ele și, prin urmare, greutatea documentului devine mai mare.
Imaginați-vă dacă o carte a cântărit 4 GB! Ar fi nevoie de mult timp să încărcați, să ocupați tot spațiul liber de pe computer. Decizia de ao descărca nu ar fi ușoară.
Din aceste motive, fiecare programator a încercat la un moment dat să vină cu propria sa tabelă de simboluri. Pentru a fi convenabil pentru utilizare și greutatea a fost menținută optimă.
Microsoft, de exemplu, a creat Windows-1251 pentru segmentul vorbitor de limbă rusă. În ea, desigur, există avantaje și dezavantaje. Ca orice alt produs.
Acum, doar 2% din toate paginile de pe Internet sunt scrise pe 1251. Cei mai mulți webmasteri utilizează UTF-8. De ce este așa?
Dezavantaje și avantaje
UTF-8, spre deosebire de codificarea universală windows-1251, conține litere de alfabete diferite. Există chiar și UTF-128, unde există, în general, toate limbile - Teulu, Swahili, Laotian, Maltez și așa mai departe.
UTF-8 este mai mult victorios, scrisorile ocupă de câteva ori mai puțin spațiu și ocupă doar un octet de memorie, ca în 1251. În UTF există simboluri rare din alte limbi sau simboluri speciale. Ambii cântăresc 5-6 octeți, dar sunt rar utilizați în document.
Această codificare este mai atentă și, prin urmare, este folosită de majoritatea aplicațiilor în mod implicit. Adică dacă nu spui programului codificarea pe care o folosești, atunci mai întâi va verifica exact UTF-8.
Pentru a face acest lucru, introduceți următoarele date în eticheta capului. După simbolurile "charset =" merge fie utf, fie vindovs, ca în exemplul de mai jos.
Dacă în viitor doriți să schimbați ceva și să inserați o frază în albaneză, folosind acest tabel de decodificări, nu va funcționa, deoarece codarea nu acceptă această limbă. UTF-8 fără probleme vă va permite să faceți acest lucru.
Dacă sunteți interesat de crearea corectă a site-ului, atunci vă pot recomanda cursul lui Mihail Rusakov "Crearea și promovarea site-ului de la A la Z".
Eu însumi am studiat un an la școala de bloggeri Alexander Borisov. Aceasta durează de mai multe ori mai mult timp, sfârșitul și marginea nu sunt încă vizibile, dar nu este mai puțin exhaustivă și disciplinată. Motivează să continue dezvoltarea.
Dacă aveți întrebări, nu trebuie să căutați pe Internet. Există întotdeauna un mentor competent.
Ceva ce m-am îndepărtat de subiect. Să ne întoarcem la codificare.
Baze de baie
Când vine vorba de php, totul este, în general, înfricoșător. Am vorbit deja despre baze de date, sunt folosite pentru a accelera activitatea site-ului. De obicei, nu le contactați, dar când devine necesar să mutați site-ul devine incomod.
Dificultățile întâmpinate de toată lumea, indiferent de experiența voastră de muncă, vechimea și vechimea în muncă. Unele pagini din baza de date pot conține toate caracterele disponibile pentru Windows 1251, altele, de exemplu, în șabloanele de pagină, într-o altă codificare.
Atâta timp cât transferul nu este necesar, totul funcționează și funcționează, deși nu este corect. Dar, după trecere, încep problemele. În mod ideal, ar trebui să utilizați fie numai UTF sau WIND-1251, dar de fapt întotdeauna și deloc există astfel de neajunsuri.
Pentru a decripta este necesar să introduceți codul mysql_query ("SET NAMES cp1251"). În acest caz, conversia va fi efectuată de un alt protocol - cp1251.
Dacă pe site-ul ați decis în mod constant să utilizați 1251, atunci ar trebui să găsiți sau să creați un fișier htaccess. Este responsabil pentru setările de configurare. În ea este necesar să adăugați încă trei linii care au convertit toate.
DefaultLanguage ro; AddDefaultCharset windows-1251; php_value default_charset "cp1251"
Încă vă recomandăm să vă gândiți la utilizarea UTF-8. Este mai popular, mai simplu și mai bogat. Orice decizii ați luat acum, este important să puteți corecta totul mai târziu. Adăugați o versiune în limba engleză a site-ului pe această codificare va fi de multe ori mai simplă. Nimic nu trebuie corectat.
Decizia este a ta. Abonați-vă la newsletter pentru a afla cum să creați site-urile potrivite cât mai curând posibil. unde să înveți astfel încât să nu repete greșelile altor persoane, precum și care bloggeri primesc mai mulți vizitatori.
Până la întâlniri noi și noroc în eforturile voastre.