Online html szerkesztő (beta)

Vissza a szerkesztőhöz | Intró | Tippek&trükkök | A szerkesztőről

Az UTF-8, az egyszeri böngésző és a BOM esete

Mi az az utf-8 és a bom? A böngészőt tudom, de miközevanezekhez? Röviden: ha nincs bekapcsolva, gyakran hülye betűk lesznek az ékezetesek helyett.

Az UTF-8

Ez egy karakterkódolás. Utóbbi egy táblázat, amit minden számítógép ismer, és ez alapján dönti el, hogy egy szöveges fájlban egy bizonyos byte vagy kettő milyen betűt reprezentál. Ami utf-8-ban "á", az ANSI-ban, ISO-8859-*-ban meg két fura karakter. Ami ott "á", az utf-8-ban egy kocka, azt nem tudja megjeleníteni.

Miért jó ez?

Mert van ahol, ilyen betűket használnak, van ahol olyat. Ha mindenki egy táblázatot használna — bár van ilyen táblázat (UTF-16, UTF-32) — az gazdaságtlan lenne. Én utf-8-ot használok a szerkesztőben, mivel ez a leguniverzálisabb, ezért az itt létrehozott fájlok is ilyen kódolásúak lesznek.

Akkor mi a probléma?

Hát ha egy szöveges fájlt ékezetes betűkkel elmentesz mondjuk ANSI meg UTF-8 formátumban, akkor ha azokat újból megnyitod, akkor ugyanaz áll mind a kettőben... Pedig különböznek: Nézd meg, az UTF-8-as pár byte-al, de több lesz. Tehát más. Akkor egy böngésző hogyan állapítja meg, hogy mi a karakterkódolás? Nehezen. Néha nem is. Ekkor jelennek meg hülye betűk az ékezetesek helyett.

Ezért kell valami segítség a kliensnek, hogy mi a karakterkódolás. HTML esetén pl. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> De mi van, ha nem html? Segít ...

... A BOM

Ez a Byte Order Mark — bájtsorrend jel — Ez karakterkódolásonként változik. Pár bájt a szövegfájl elején. Utf-8 esetén EF BB BF. Ez máris segít a programnak megállapítani a karakterkódolást. Ha nincs, akkor ezt más módon kell biztosítani

Miért kell ezt egyáltalán megkérdezni, hogy akarok-e ilyet?

Azért, mert ez a pár kóbor bájt néha zavaró lehet egy valami számára. De alapbeállításként be van kapcsolva.