Betűszemét
A betűszemét (krikszkraksz, katyvasz) olyan karakterkódolási hiba eredménye, amikor egy elektronikus szöveges tartalom kódolása eltér a megjelenítéskor használt kódolástól. Angolul mojibake, ami a japán 文字化け (modzsibake ) kifejezésből származik; 文字 (modzsi) 'betű', illetve 化け (bake) 'átváltozik'. Több nyelvbe is a japán kifejezés épült be, de egyes nyelveknek megvan a saját kifejezésük erre a hibára. Például németül Zeichensalat ('írásjel-saláta'), kínaiul luan mai ('kaotikus kód'; pinjin: luàn mǎ, egyszerűsített kínai: 乱码, hagyományos kínai: 亂碼), oroszul krakozjabri ('ákombákom betűk').
Okai
[szerkesztés]Az előfordulás jellegétől függően több oka is lehet a betűszemét megjelenésének.
Operációs rendszerek
[szerkesztés]A operációs rendszerekben a probléma akkor jelentkezik, ha a rendszer területi beállítása nem egyezik a ténylegesen használt nyelvvel. A régebbi, nem Unicode-ot használó operációs rendszerek esetén a rossz nyelvi beállítás azt okozhatta, hogy az összes menü, gomb és egyéb, az operációs rendszer által kezelt nyelvfüggő felirat hibásan jelent meg. A mai operációs rendszerek többnyire Unicode kódolást használnak, így a probléma leginkább csak akkor lép fel, ha nem Unicode kódolású dokumentumot nyitunk meg, és a dokumentum nyelve eltér a területi beállításokban használt nyelvtől. Ez a probléma könnyen orvosolható a területi beállítások helyes beállításával.[1]
Szoftverek
[szerkesztés]Előfordulhat, hogy egy szoftver csak adott nyelveket támogat, vagy nem használ Unicode-ot, még ha az operációs rendszer támogatná is. Ha egy szoftvert más nyelvi környezetben fejlesztettek, mint amin futtatjuk, és használ különleges karaktereket, a probléma felléphet. Szintén előfordulhat, hogy adatok archiválásakor más kódolást használtak, mint visszaállításkor. Ez a hiba pl. átnevezheti a fájlokat, mikor egy tömörített mappát nyitunk meg egy eltérő kódolású rendszerben. Külön területe a problémának a játékszoftverek, amelyek gyakran egyedi karakterkészleteket és megjelenítési módokat használnak.
Hálózati kommunikáció
[szerkesztés]Manapság a probléma leginkább online tartalmak böngészésekor, különbözően vagy rosszul konfigurált szerverek kommunikációja esetén fordul elő. Kliens-szerver kapcsolat esetén előfordulhat, hogy a távoli fájlok nevei, azok tartalma, vagy maga a kliens-szerver közötti adatcsere tartalma sérül. Ide sorolhatjuk a levelezéskor vagy a web böngészésekor előforduló kódolási hibákat is. A probléma elkerüléséhez alapvető lenne a helyes beállítások használata,[2] adatcseréhez a kódtáblák[3] egyeztetése, az online tartalmak kódolásának megjelölése.[4]
Emberi tényező
[szerkesztés]A tudatlanság mellett gyakori ok a nemtörődömség vagy elégtelen tesztelés. Sok kódolás csak kevéssel tér el egymástól, és bár néhány karakter hibás, a szöveg nem teljesen válik olvashatatlanná (lásd a példákat alább). Tipikus eset továbbá, hogy egy rendszert csak angol nyelvi környezetben teszteltek, és ekkor nem buknak ki a hibás beállítások, mert az angol ábécé betűit tekintve a legtöbb kódolás kompatibilis egymással.
Példák
[szerkesztés]A szöveg kódolása | A megjelenítés által használt kódolás | Eredmény | Előfordulás |
---|---|---|---|
Helyes kódolás | ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP árvíztűrő tükörfúrógép | ||
CP 852 | CP 850 | ÁRVÍZTÙRè TÜKÖRFÚRÓGÉP árvízt¹rï tükörfúrógép |
Gyakori volt (és manapság is előfordul), hogy egy program nem támogatta a közép-európai CP 852 kiosztást, helyette a nyugat-európai CP 850 kódolással próbálta megjeleníteni a szöveget. Eltérés csak az ő-Ő és ű-Ű betűkben van. |
CP 852 | CP 437 | ╡RV╓ZTδRè TÜKÖRFΘRαGÉP árvízt√rï tükörfúrógép |
Gyakori hiba volt a DOS operációs rendszer idején, amikor a szöveg a közép-európai CP 852 kódolást használta, míg az operációs rendszer, egy szoftver vagy nyomtató az alapértelmezett CP 437 kódolást. Megfigyelhető, hogy a kisbetűk többnyire helyesek, kivéve az ő (ï) és ű (√) betűket. Manapság már leginkább csak nyomtatott recepteken, csekkeken fordul elő. |
CWI-2 | CP 437 | ÅRVìZTÿRº TÜKÖRFùRòGÉP árvíztûrô tükörfúrógép |
A CWI-2 kódolást kifejezetten úgy tervezték, hogy a magyar ékezetes szövegek jól olvashatók maradjanak akkor is, ha a megjelenítéskor vagy nyomtatáskor az alapértelmezett CP 437 kódolás van használva. A kilencvenes évek elejéig nagyon gyakori volt, később a Windows kódolások kiszorították. |
Windows-1250 | Windows-1252 | ÁRVÍZTÛRÕ TÜKÖRFÚRÓGÉP árvíztûrõ tükörfúrógép |
A közép-európai Windows kódolás helyett az alapértelmezett nyugati van használva. Csak az ő-Ő (õ-Õ) és ű-Ű (û-Û) betűk rosszak, de a szöveg olvasható, mivel az ékezet nem feltűnően különbözik. Manapság ez az egyik leggyakoribb, magyar szövegeket érintő kódolási hiba, leginkább weblapokon, de gyakran nyomtatott formában is előfordul. Az alapértelmezett nyugati karakterkészlet nem támogatja a kettős éles ékezettel ellátott magyar betűket. |
CP 852 | Windows-1250 | µRVÖZTëRŠ TšK™RFéRŕGP rvˇztűr‹ tk”rfŁr˘g‚p |
Közép-európai Windows kódolás használata DOS kódolás helyett. |
Windows-1250 | CP 852 | ┴RV═ZT█RŇ T▄KÍRF┌RËG╔P ßrvÝztűr§ tŘk÷rf˙rˇgÚp |
Közép-európai DOS kódolás használata Windows kódolás helyett. |
Quoted-printable | 7 bites ASCII | =C1RV=CDZT=DBR=D5 T=DCK=D6RF=DAR=D3G=C9P =E1rv=EDzt=FBr=F5 t=FCk=F6rf=FAr=F3g=E9p |
Leginkább rosszul konfigurált e-mail-szerverek esetén fordul elő, illetve mobiltelefonokon SMS üzenetekben is megjelenhet. |
UTF-8 | Windows-1252 | ÃRVÃZTÅ°RÅ TÃœKÖRFÚRÓGÉP árvÃztűrÅ‘ tükörfúrógép |
Leggyakrabban rosszul konfigurált webes szolgáltatások és webes e-mail-kliensek esetén fordul elő, ahol a rendszert nem tesztelték megfelelően nemzetközi használatra (mivel angol szövegekre a probléma gyakran rejtve marad). Ebben az esetben a tényleges (gyakran generált) tartalom UTF-8 kódolású, azonban ez a HTML fejlécekben nincs jelölve, ezért böngésző az alapértelmezett Windows-1252 kódolással próbálja a szöveget megjeleníteni. |
Jegyzetek
[szerkesztés]- ↑ A rendszer területi beállításának módosítása
- ↑ Karakterkódolási problémák kiküszöbölése
- ↑ A magyar ékezetes betűk helye az egyes kódtáblákban. [2014. november 2-i dátummal az eredetiből archiválva]. (Hozzáférés: 2014. szeptember 26.)
- ↑ Karakterkódolás beállítása HTML és XML dokumentumokban