Nerazumljivi znakovi umjesto teksta u pretraživaču. Struktura hijeroglifa: karakteristike, grafemi, složeni znakovi
Pozdrav, dragi čitaoci, poštovaoci i ostali dobri ljudi!
Da li ste ikada primali i čitali pisma na „kojem god jeziku razumete“ ili ste otišli na neki internet izvor i umesto uobičajenih pisama videli neprekidno brbljanje? Ako je odgovor da, onda je ovaj članak za vas, jer ćemo u njemu govoriti o kodiranju stranica, njegovim formatima, zašto se to događa i kako izbjeći nerazumljive hijeroglife u budućnosti.
Dakle, danas čekamo ne lagan članak o softveru, već oštar tehnički, pa se pripremite: malo ćemo pogoditi surovu stvarnost.
Idi.
Šta je kodiranje teksta i za šta se koristi?
Želeo bih da počnem sa činjenicom da ovaj članak možda i nije postojao, jer... Kompjuterski život autora ovih redova tekao je sasvim mirno i dostojanstveno. Ali onda sam jednog lijepog dana, lutajući internetom ne sa svog računara, na nekim stranicama naišao na čudne pojave. Kada sam otišao na internetske resurse, vidio sam ne poznatu rusku abecedu i lijep, razumljiv tekst, već neku vrstu jeresi u obliku nerazumljivog niza simbola. Izgledala je otprilike ovako (vidi sliku).
Prvo sam pomislio da se moja voljena Mozilka (Firefox pretraživač) pregrijala i da je vrijeme da pozove hitnu pomoć, ali onda sam počeo shvaćati da je problem najvjerovatnije na strani mrežnih resursa i da leži u pogrešno konfiguriranom kodiranju. Ispostavilo se da je to zaista tako, i nakon malo petljanja s tamburom, problem je brzo riješen. Rezultat svih mojih ljubavnih afera je današnji materijal. Zapravo, hajde da pogledamo detalje.
Sve informacije predstavljene u digitalnom obliku i koje se nalaze na globalnoj mreži moraju se posmatrati s dvije strane: prva - sa strane korisnika (lijep i njegovan tekst na ekranu monitora) i druga - sa strane tražilice (određeni programski kod koji se sastoji od raznih oznaka/meta oznaka, tablica simbola, itd.).
Ako ste barem malo upoznati s jezikom za označavanje hiperteksta (HTML), onda biste trebali biti svjesni da se stranica očima pretraživača (Google, Yandex) ne vidi kao običan tekst, već kao strukturirani dokument koji se sastoji od sekvenci. raznih vrsta oznaka. Da bi bilo jasnije o čemu govorim, pogledajmo našu omiljenu stranicu Bilješke od Sys.Admin” projekta, ali ne očima običnog korisnika, već „očima” pretraživača. Da biste to učinili, pritisnite kombinaciju tipki Ctrl+U (za Firefox i Chrome preglednike) i pogledajte sljedeću sliku (pogledajte sliku):
Ono što imamo pred sobom je mašinska verzija web stranice, u ovom neprezentativnom obliku ona je predstavljena pretraživačima iu tom obliku je i jedu. Kada bismo jednostavno uzeli i "sandalizirali" verzije članaka iz notepad-a ili Worda s običnim tekstom, mašine bi se ne samo ugušile, već ga ne bi ni pojele. Dakle, imamo glavnu stranicu projekta u HTML obliku. Obratite pažnju na red koji kaže UTF-8, ovo nije ništa drugo do notorno kodiranje teksta stranice, to je ono što je odgovorno za format za prikazivanje informacija u prezentabilnom obliku, zbog čega vidimo normalan tekst kroz pretraživač.
Hajde sada da shvatimo zašto se dešava da ponekad vidimo pukotine na ekranu monitora. Vrlo je jednostavno, problem je u otvaranju datoteke u pogrešnom kodiranju. Ako to prevedemo na svakodnevni jezik, recimo da su vas poslali u prodavnicu po mlijeko, a zgrabili ste kruh, koji je, čini se, također jestiv, ali potpuno drugog formata proizvoda.
Dakle, hajde da sada razumemo teoriju i za to ćemo uvesti neke definicije.
- Kodiranje (ili “Charset”) – korespondencija između skupa znakova i skupa numeričkih vrijednosti. Potreban za “curenje” informacija na Internet, tj. tekstualne informacije se pretvaraju u bitove podataka;
- Kodna stranica (“Codepage”) – 1 bajt (8 bita) kodiranje;
- Broj vrijednosti koje prihvata 1 bajt je 256 (dva u osmini).
Korespondencija “simbol-slika” se specificira korištenjem posebnih kodnih tablica, gdje je svakom simbolu već dodijeljen svoj specifični numerički kod. Takvih tablica ima dosta, a u različitim tabelama isti simbol se može različito identificirati (može imati različite numeričke kodove).
Sva kodiranja se razlikuju po broju bajtova i skupu specijalnih znakova u koje se konvertuje svaki znak izvornog teksta.
Bilješka:
Dekodiranje je operacija koja rezultira konverzijom koda simbola u sliku. Kao rezultat ove operacije, informacije se prikazuju na ekranu monitora korisnika.
Općenito.. Sredili smo definicije, a sada hajde da saznamo kakve vrste (kodiranja) postoje.
Vrste kodiranja teksta
I, generalno, ima ih dovoljno.
- ASCII
Jedna od „drevnijih“ je američka tablica kodiranja (ASCII, čita se kao „pitati“), koju je usvojio Nacionalni institut za standarde. Za kodiranje je koristila 7 bita, prvih 128 vrijednosti sadržavalo je englesku abecedu (malim i velikim slovima), kao i znakove, brojeve i simbole. Bio je prikladniji za korisnike koji govore engleski i nije bio univerzalan.
- Ćirilica
Domaća verzija kodiranja, za koju su počeli koristiti drugi dio tablice kodova - znakove od 129 do 256. Dizajniran za publiku koja govori ruski.
- Kodiranja porodice MS Windows: Windows 1250-1258.
8-bitna kodiranja pojavila su se kao posljedica razvoja najpopularnijeg operativnog sistema Windows. Brojevi od 1250 do 1258 označavaju jezik za koji su prilagođeni, na primjer, 1250 - za jezike srednje Evrope; 1251 – ćirilično pismo.
- Kod za razmjenu informacija 8 bita – KOI8
KOI8-R, KOI8-U, KOI-7 – standard za rusko ćirilično pismo u operativnim sistemima sličnim Unixu.
- Unicode
Univerzalni standard za kodiranje znakova koji vam omogućava da opišete znakove gotovo svih pisanih jezika. Oznaka “U+xxxx” (xxxx – heksadecimalne cifre). Najčešće porodice kodiranja UTF (Unicode Transformation Format): UTF-8, 16, 32 .
Trenutno, kako kažu, "vlada" UTF-8 - to je ono što pruža najbolju kompatibilnost sa starijim operativnim sistemima koji su koristili 8-bitne znakove. Većina sajtova na Internetu je u UTF-8 kodiranju, a ovaj standard je univerzalan (podrška za ćirilicu i latinicu).
Naravno, nisam naveo sve tipove kodiranja, već samo one najpopularnije. Ako želite da ih sve znate za opći razvoj, onda se potpuna lista može pronaći u samom pretraživaču. Da biste to učinili, samo idite na "karticu" Pogledaj-Encoding-Select listu” i upoznajte se sa svim njihovim mogućim opcijama (pogledajte sliku).
Mislim da se postavilo razumno pitanje: “ Zašto, dovraga, ima toliko kodiranja?" Njihovo obilje i razlozi za njihovu pojavu mogu se uporediti sa fenomenom kao što je cross-browser/cross-platform. Ovo je kada se ista web lokacija različito prikazuje u različitim internet pretraživačima i na različitim gadget uređajima. Usput, stranica " Bilješke od Sys.Admin„Sa ovim je, kao što ste primetili, sve u redu :).
Sva ova kodiranja su radne opcije koje su programeri kreirali „da odgovaraju sebi“ i rješavaju svoje probleme. Kada je njihov broj prešao sve razumne granice, a tražilice su počele proizvoditi upite poput: “ Kako ukloniti glupe greške u pretraživaču?” - programeri su počeli da se razbijaju kako bi sav ovaj nered doveli do jednog standarda, kako bi se, da tako kažem, svi osjećali dobro. I Unicode kodiranje je, općenito, ovo učinilo "dobro". Sada, ako se takvi problemi pojave, oni su lokalne prirode, a samo potpuno neprosvijećeni korisnici ne znaju kako ih riješiti (međutim, često se pojavljuju problemi s kodiranjem i prikazom web stranica zbog činjenice da je webmaster naveo pogrešan format na na strani servera i morate da promenite kodiranje u pretraživaču).
Pa, zapravo, za sada, sva "osnovno neophodna" teorija koja će vam omogućiti da ne "plutate" u problemima kodiranja, sada prijeđimo na praktični dio članka.
Rješavanje problema s kodiranjem ili kako ukloniti glupe kodove?
Dakle, naš članak bi bio nepotpun da se ne dotaknemo potrošačkih i svakodnevnih pitanja. Pogledajmo ih i počnimo s tim kako (čime) možete vidjeti kodiranje?
U bilo kom operativni sistem postoji tabela simbola, ne treba je preuzimati ili instalirati - ovo je dato odozgo, koja se nalazi na adresi: “Start-programs-standard-utilities-symbol table”. Ovo je tabela vektorskih oblika svih fontova instaliranih na vašem operativnom sistemu.
Odabirom "dodatnih parametara" (Unicode set) i odgovarajućeg tipa fonta, vidjet ćete cijeli skup znakova koji su uključeni u njega. Klikom na bilo koji znak, vidjet ćete njegov kod u UTF-16 formatu, koji se sastoji od 4 heksadecimalne cifre (pogledajte sliku).
Sada nekoliko riječi o tome kako ukloniti krakozabry. Mogu se javiti u dva slučaja:
- Sa strane korisnika - prilikom čitanja informacija na Internetu (na primjer, prilikom posjete web stranici);
- Ili, kao što je gore spomenuto, od strane webmastera (na primjer, prilikom kreiranja/uređivanja tekstualne datoteke uz podršku za sintaksu programskih jezika u programu ++ ili zbog pogrešnog kodiranja navedenog u kodu stranice).
Hajde da razmotrimo obe opcije.
br. 1. Hijeroglifi sa strane korisnika.
Recimo da ste pokrenuli OS i u nekim aplikacijama vidite zloglasne škrabotine. Da to popravite, idite na: “ Start - Kontrolna tabla - Regionalne i jezičke opcije - Promijenite jezik” i sa liste odaberite “Rusija”.
Također provjerite na svim karticama da je lokalizacija "Rusija/Ruski" - ovo je takozvana sistemska lokalizacija.
Ako ste otvorili web lokaciju i iznenada shvatili da vam hijeroglifi ne dozvoljavaju čitanje informacija, tada biste trebali promijeniti kodiranje pomoću pretraživača („Prikaz - kodiranje“). Na čemu? Sve zavisi od vrste ovih krakozjabrova. Pogledajte sljedeću varalicu (pogledajte sliku).
br. 2. Hijeroglifi sa strane webmastera.
Vrlo često, početnici programeri web stranica ne daju od velikog značaja kodiranje dokumenta koji se kreira, usled čega se onda susreću sa gore navedenim problemom. Evo nekoliko jednostavnih osnovnih savjeta za webmastere za rješavanje problema.
Kako biste spriječili da se to dogodi, idite na uređivač Notepad++ i odaberite "Encodings" iz izbornika. On je taj koji će pomoći transformaciji postojećeg dokumenta. Pitanje je koji? Najčešće (ako je stranica na WordPress-u ili Joomli), tada “ Pretvorite u UTF-8 bez BOM-a” (vidi sliku).
Nakon takve konverzije vidjet ćete promjene u statusnoj liniji programa.
Također, da biste izbjegli prevare, potrebno je prisilno kodirati informacije u zaglavlje stranice. Na taj način naznačavate pretraživaču da se stranica čita u propisanom kodiranju. Webmaster početnik treba da shvati da do skokova sa kodiranjem najčešće dolazi zbog neusklađenosti između postavki servera i postavki stranice, tj. Na serveru se u bazi podataka registruje jedno kodiranje, a stranica u pretraživač šalje stranice u potpuno drugom.
Da biste to uradili, potrebno je da pišete "očito" (u zaglavlju sajta, tj. često u datoteci header.php) između oznaka
sljedeći red:Pisanjem takve linije, natjerat ćete pretraživač da ispravno protumači kodiranje, a hijeroglifi će nestati.
Možda ćete također morati prilagoditi izlaz podataka iz baze podataka (MySQL). Ovo se radi ovako:
mysql_query("SET NAMES utf8");
myqsl_query("POSTAVI SET KARAKTERA utf8");
mysql_query("SET COLLATION_CONNECTION="utf8_general_ci"" ");
Alternativno, također možete napraviti potez viteza i napisati sljedeće redove u .htaccess fajl:
# POČNI UTF8
AddDefaultCharset utf-8
AddCharset utf-8 *
CharsetSourceEnc utf-8
CharsetDefault utf-8
#END UTF8Sve gore navedene metode (ili neke od njih) će najvjerovatnije pomoći vama i vašim budućim posjetiteljima da se riješite omraženih hijeroglifa i problema s kodiranjem. Nažalost, ovdje nećemo ulaziti u detalje o uputama za webmastere, mislim da će oni svakako razumjeti detalje ako žele (na kraju krajeva, imamo malo drugačiju temu za stranicu).
Eto, sada je praktični dio članka završen, ostalo je samo da sumiramo neke male rezultate.
Pogovor
Danas smo se upoznali sa konceptom kodiranja teksta. Siguran sam da sada, kada se na monitoru vašeg kompjutera pojave škrabotine, nećete odustati, već zapamtite sve metode koje su ovdje navedene i riješite problem u svoju korist!
To je sve, hvala na pažnji i vidimo se ponovo.
Postavite skup znakova
Meta tag
Trebate dodati posebnu meta oznaku svakoj stranici (ili šablonu zaglavlja) koja govori pretraživaču koji skup znakova da koristi za prikaz teksta. Ova oznaka je standardna i obično izgleda ovako:
charset=UTF-8» />
charset=”utf-8″/> (opcija za HTML 5)
Morate ga zalijepiti u odjeljak
- bolje na samom početku, odmah nakon uvodnog :
Meta oznaka za kodiranje
Preko .htaccess (ako ništa ne uspije)
Obično su prve dvije opcije dovoljne i pretraživači prikazuju tekst kako. Ali neki od njih mogu imati problema i stoga možete pribjeći pomoći .htaccess fajl.
Da biste to učinili, potrebno je da u njega upišete sljedeći red:
AddDefaultCharset utf-8
To je sve. Ako uzastopno primijenite ove 3 metode postavljanja kodiranja na svoj projekt, onda je vjerovatno da da će sve biti prikazano kako treba, blizu 100%.
Kako "vidjeti" šta se krije iza čudnih simbola na web stranici?
Ako odete na web stranicu, vidite "lude riječi" i želite vidjeti normalan tekst, postoje samo dva načina:
- obavijestite vlasnika stranice da sve bude ispravno konfigurirano
- pokušajte sami da pogodite kodiranje. Ovo se radi pomoću standardnih alata pretraživača. U Chromeu, na primjer, trebate kliknuti na meni "Alati => Kodiranje" i od ogromna lista odaberite odgovarajući skup znakova (tj. pogodite).
Srećom, skoro svi moderni web projekti su rađeni u UTF-8 kodiranju, koje je „univerzalno“ za različite alfabete i stoga je sve rjeđe vidjeti ove čudne znakove na internetu.
Zdravo svima!
Pogledao sam koliko ljudi ima problema sa prikazivanjem teksta (izlazi u obliku hijeroglifa) i odlučio da napišem ovaj članak-napomenu. Bit će kratak i jednostavno će vam reći zašto se ovaj problem javlja u 99% slučajeva i kako ga riješiti. Idi.
Uopšte nije važno da li imate vlastitu web stranicu ili jednostavan Word dokument. Hijeroglifi umjesto normalnog ruskog teksta mogu se prikazati apsolutno svuda. Ali postoji samo jedan problem. Kodiranje. Najčešće se koristi utf-8, ali ponekad vole koristiti i windows-1251. Dakle, ako vaš server radi na utf-8, a stranica je dizajnirana za windows-1251, umjesto teksta će biti hijeroglifi.
Rešenje: morate da sačuvate datoteke sajta sa konvertovanim kodiranjem u utf-8 bez BOM-a. Postoje 2 tipa, sa i bez BOM-a. Razlika je u tome što se u jednostavnom utf-8 sve vrste dodatnih vrijednosti zamjenjuju na početku reda, što povećava težinu i ne prikazuje se kako bi trebalo. Stoga koristimo samo bez boma.
Također provjerite da li će na početku stranice u kodu, gdje se nalazi blok, linija charseta sadržavati ili utf-8, ili ovaj red uopće neće postojati. Nakon toga će se stranica početi prikazivati kako treba.
Hijeroglifi se prikazuju u dokumentima umjesto teksta
Ako imate isti problem sa dokumentima, promijenite kodiranje. Samo eksperimentirajte u ovom slučaju. Prvo stavite utf-8, ako ne radi - windows-1251. Ako to ne uspije, pokušajte s drugim iz odjeljka ćiriličkih kodiranja. Ako to ne pomogne, datoteka je možda oštećena. Ili postoji neki drugi problem. Ali u 99% slučajeva, promjena kodiranja pomaže.
Štampač štampa hijeroglife umesto teksta
Takođe prilično čest problem. Mislim da ste već pogodili šta da radite. Idite na odjeljak postavki štampača. Negdje bi trebao postojati odjeljak pod nazivom "Kodiranja". Tražimo jednog ovakvog. I da vidimo šta je kodiranje. Ako je utf-8, pokušajte ga promijeniti u windows-1251. Ali ako je windows-1251, onda pokušavamo da instaliramo utf-8.
To je sve. Sada znamo zašto se hijeroglifi pojavljuju umjesto teksta i kako se nositi s tim.
Krakozyabry- Kakva je ovo reč interesantna? Ruski korisnici obično koriste ovu riječ da opisuju netačan/netačan prikaz (kodiranje) znakova u programima ili samom operativnom sistemu.
Zašto se to dešava? Nećete naći definitivan odgovor. To može biti zbog trikova naših "omiljenih" virusa, možda zbog kvara Windows OS-a (na primjer, nestalo je struje i računar se isključio), možda je program stvorio sukob s drugim OS-om i sve je prošlo haywire. Općenito, razloga može biti mnogo, ali najzanimljiviji je „Baš se tako pokvario“.
Pročitajte članak i saznajte kako riješiti problem s kodiranjem u programima i Windows OS-u, nakon što se to dogodi.Za one koji još uvijek ne razumiju na šta mislim, evo nekoliko:
Inače, i ja sam se jednom našao u ovoj situaciji i još uvijek imam fajl na desktopu koji mi je pomogao da se nosim s tim. Zato sam odlučio da napišem ovaj članak.
Nekoliko „stvari“ je odgovorno za prikaz kodiranja (font) u Windows-u - jezik, registar i datoteke samog OS-a. Sada ćemo ih provjeriti zasebno i tačku po tačku.
Kako ukloniti i ispraviti krakozyabry umjesto ruskih (ruskih slova) u programu ili Windowsu.
1. Provjeravamo instalirani jezik za programe koji ne podržavaju Unicode. Možda se izgubio na tebi.
Dakle, idemo putem: Control Panel - Regional and Language Options - Advanced tab
Tamo se uvjeravamo da je jezik ruski.
U Windows XP-u, pored ovoga, na dnu se nalazi lista "kodnih stranica tabele konverzije" iu njoj je red sa brojem 20880. Tamo mora biti i Rus
6. Poslednja tačka u kojoj vam dajem fajl koji mi je pomogao da sve popravim jednom i zato sam ga ostavio za uspomenu. Evo arhive:
Unutra se nalaze dva fajla: krakozbroff.cmd i krakozbroff.regImaju isti princip - ispravne hijeroglife, kvadrate, pitanja ili uskličnike u programima i Windows OS-u (uobičajeno) krakozyabry). Koristio sam prvu i pomoglo mi je.
I za kraj, par savjeta:
1) Ako radite sa registrom, onda ne zaboravite da napravite rezervnu kopiju (rezervnu kopiju) u slučaju da nešto krene po zlu.
2) Preporučljivo je provjeriti 1. tačku nakon svake tačke.To je sve. Sada znate kako da popravite/uklonite krekere (kvadrate, hijeroglife, uskličnike i upitnike) u programu ili Windows-u.
- Usekovanje glave Jovana Krstitelja: istorija
- Osvećenje hrama na Dubrovki Hram u čast svetih ravnoapostolnih Metodija i Kirila na Dubrovki
- Jedinstvene kupole - hram kneza Igora Černigovskog u Peredelkinu Crkva Preobraženja Gospodnjeg u Peredelkinu raspored službi
- Poslednji ispovednik kraljevske porodice Zvanični ispovednici ruskih careva