Karakterkódolás

július 18, 2005

UTF-8: 8-bit Unicode Transformation Format

Az UTF-8 (8 bites Unicode átalakítási formátum) lényege, hogy a különböző karakterek Unicode szabványon alapuló kódolásakor változó hosszúságú egységet használ. A leggyakoribb, ékezet nélküli betűk és egyéb alap írásjelek esetén csak egy bájtot használ fel, míg például az európai nyelvek által használt ékezetes betűk esetén két bájtban tárolja el az információt. Az UTF-8 kódolás használata lehetővé teszi több, különböző kódlapot használó nyelv együttes használatát ugyanabban a dokumentumban. Ez nemcsak azon ritka esetekben nélkülözhetetlen, amikor például kínai írásjeleket szeretnénk magyar szövegbe illeszteni, hanem például egyes nyugat-európai karakterek és magyar karakterek együttes használatakor is elengedhetetlen, ezért egy modern magyar nyelvű weboldal létrehozásakor tanácsos ilyen karakterkódolást választani.

Ha azt látjuk egy dokumentumban, hogy az ékezet nélküli betűk jól mutatnak, míg az ékezetes betűk helyett két furcsa karakter jelenik meg (például így: ÁrvĂ­ztűrĹ‘ tĂĽkörfĂşrĂłgĂ©p), akkor át kell váltani a karakterkódolást UTF-8-ra. (Sajnos néhány alkalmazás nem, vagy nem megfelelően támogatja ezt a szabványt.)

A „Karakterkódolás” című bejegyzést 2005. 07. 18. napján publikáltam, az azóta már bezárt webni.innen.hu oldalon. Ezt az írást és az innen hivatkozott régi tartalmakat a Webni! Archívum oldalán gyűjtöttem össze. Mivel az utolsó módosítás dátuma: 2013. 12. 21., ezért az itt olvasható információk már részben vagy teljes egészében elavultak lehetnek.

Archivált hozzászólások

„Kétnyelvű” honlap

2008. 01. 04. 20:54 · Névtelen hozzászóló →

Szia,az a kérdésem, hogy ha egy oldalt magyarul is és angolul is elkészítek, akkor mindkettőhöz ezt az UTF-8-at ajánlod? (Egy domain, de külön HTML-fájlokban lesznek a külön nyelvű tartalmak.)

„Kétnyelvű” honlap

2008. 01. 05. 08:32 · Névtelen hozzászóló →

Persze, én az UTF-8-at ajánlom így látatlanban, azért, mert az a modernebb, nagyobb tudású dolog. Mindazonáltal még mindig gyakran előfordulnak olyan helyzetek / programok, amik nem teljes mértékben, olykor csak félszívvel támogatják ezt az UTF-8-as történetet. Szükséged azonban az általad említet esetben nem feltétlenül van az UTF-8-ra: mivel az iso-8859-2 (Latin-2) és társai úgy lettek kitalálva, hogy az angol ábécéhez szükséges minden betűn túl az adott régió nyelveihez szükséges összes extra karaktert tartalmazzák. Az UTF-8 ott elengedhetetlen, ahol egyszerre szeretnél eltérő régiókból származó karaktereket megjeleníteni anélkül, hogy HTML entitásokkal kellene barmolni. Például, ha közép és nyugat európai karaktereket egyszerre szeretnél: a nyolcbites karakterkódolásokkal, mint amilyen latin-2 is, nem tudod ugyanis egyszerre megjeleníteni pl. Poznań és La Coruña neveket megfelelően, mert amíg a latin-1 karaktertábla megfelelő helyén a hullámos n betű van, addig a latin-2 táblájában ugyanott a vesszős n található.

2008. 01. 05. 10:19 · Névtelen hozzászóló →

< ! – – s a v e d f r o m u r l = (0 0 2 2) h t t p : / / i n t e r n e t . e – m a i l –> ez mi lehet tudja valaki?

Egyszer csak ilyenek jelentek meg az oldalam -html kódjában, mi lehet ez?Köszönöm a segítséget!

„Kétnyelvű” honlap

2008. 01. 05. 14:56 · Névtelen hozzászóló →

Köszi!

Hibás karakterek

2009. 05. 27. 14:07 · Névtelen hozzászóló →

Szia!

Oldalam sql adatbázisokra épül. Észrevettem, hogy már lejárt dátumú (ez egy utazási oldal) találatnál a Google hibásan – ÁrvĂ­ztűrĹ‘ tĂĽkörfĂşrĂłgĂ©p jeleníti meg a találatokat. Érdekes mód, csak a lejártaknál, az aktuálisaknál jó. Az is biztos, hogy csak az adatbázisból származó infókat jeleníti meg így, a statikusakat már jól jeleníti meg.

A weblapon UTF8, az adatbázisban Latin2 van beállítva. A weblap magyar nyelvű. Segít az, ha a weblapon átállítom a karakterkódolást Latin2-re? Vagy mi lehet a megoldás?

Köszi a választ. Alex

Hibás karakterek

2009. 05. 27. 15:48 · OldalGazda →

Ha olyat látszi, hogy : ÁrvĂ ztűrĹ‘ tĂĽkörfĂşrĂłgĂ©p , tehát minden ékezetes betű helyett helyett kettő bonylolult betű jelenik meg, de a többi betű jó, az mindig azt jelenti, hogy valójában UTF-8-as kódolású szöveget próbálsz megjeleníteni nyolcbites kódolással (latin-1, latin-2, gyakorlatilag mindegy.) add meg a helyes kódolást, az UTF-8-at szerintem. A kérdésed többi részére nem tudok válaszolni, konkrét, a hibát mutató url-ek nélkül.

karakterkódolási probléma

2009. 05. 29. 15:41 · Névtelen hozzászóló →

Köszi a választ, megértettem és azt is tudom, hogy tudom kijavítani.

Üdv. Alex

2009. 06. 03. 08:53 · Névtelen hozzászóló →

Szia!

Utánajártam ennek a problémának és az alábbiakat derítettem ki.

Előtte adatok:oldal neve: www.turistahalo.huMinden latin2 karakterkódolású (adatbázis, weblap, fejlesztés folyamán statikusan beírt ékezetes szövegek)

A jelenség: Az egyes programok a főlapon sorakoznak. Ha a látogatót érdekli a program, a program sorában található „érdekel” gombra kattint rá. Az „erdekel” gomb alt eleme némi pluszinfót jelenít meg buborékban, hogy a látogatót ez is segítse, mielőtt kattint.

A google rengeteg találatot hoz úgy, hogy link-ként az alt tartalmát jeleníti meg. Ez logikus is, hiszen ebben sűrítve minden benne van, ami kell.

Érdekes mód, az alt tartalmában hozza a hibás fenti „ékezeteket”, sőt úgy, hogy az az aktuális, „megtalált” program alt-jában nem is szerepel.

Pld. beírom a ggogle-ba, hogy „Miskolc – Gyermek Borsodi Fonó” Első helyen hozza a turistahalót, ékezetek rendben, csakhogy címként (link) ezt teszi be: „JĂĄrmĹątalĂĄlkozĂł: NemzetkĂśzi motoros talĂĄlkozĂł, AbĂĄdszalĂłk”. Ami rosszabb, hogy a link erre a rendezvényre is mutat, ami már lejárt rendezvény. E rendezvény alt-jának alatt valóban ez a szöveg volt, de mi köze ennek a miskolci rendezvényhez, amit a Google megtalált és ékezethelyesen erről minden infót a hibás cím alá ki is írt. (Ott is az alt gomb tartalmát írja ki, de ez ékezethelyes, tehát mindig csak a link nem jó.).

Tehát itt az is a gond, hogy más a link és más a helyesen megtalált szöveg. A felhasználó meg néz, hogy mit keres egy lejárt, ráadásul más jellegű rendezvényen. Gondolom azért lehet ez, mert a rendezvények ugyanazon a lapon jelennek meg, arról meg a google nem tud, hogy a rendezvény hívó paraméterei közben nyilván megváltoztak. Megtalálja a rendezvényt, de egy régebbi linket rendel hozzá, aminek ilyenkor hibás ékezetekkel írja ki azt, amit annak alt-jában talált.

Van egy tippem, hogy a Google amikor eltárolja a linket, más kódolást használ és ezért nem adja jól később vissza.

Köszi a válaszod, Alex

kérdés

2010. 12. 05. 21:53 · Névtelen hozzászóló →

én a wordpressel csinálok 1 saját oldalt és eltettem 1 beépülő modult ami sajnos nem kezeli az ékezetes betüket addig elis jutottam hogy megkerestem a php fájlt ahol átkell írni utf 8 ra de nemtudom helyesen átírnifunction sendEmail($to, $from) { $toOptions = $this->getUserOps($to); $notify = $toOptions[‘allow_emails’]; if ($notify == true) { $sendername = get_bloginfo(„name”); $sendermail = get_bloginfo(„admin_email”); $uData = get_userdata($from); $sendfrom = $uData->user_login; $headers = „MIME-Version: 1.0\r\n” . „From: „.$sendername.” „.”<„.$sendermail.”>\n” . „Content-Type: text/plain; charset=\”” . get_settings(blog_charset) . „\”\r\n”; $mailMessage = __(„You have recieved a new message from”, „cartpaujpm”).” „.$sendfrom.”, „.__(„follow this link to view it”, „cartpaujpm”).”: „.$this->pageURL; $mUser = get_userdata($to); $mailTo = $mUser->user_email; wp_mail($mailTo, __(„New Message”, „cartpaujpm”), $mailMessage, $headers); } }pontosan így néz ki és ha tudnál segitni h helyesen átírni hogy kezelje az ékezetes betüket jólenne:) köszönöm Üdv

ű

2012. 04. 12. 06:47 · Névtelen hozzászóló →