“Mindennek az értelme, hogy az informatikai eszközök (számítógép, faxgépek, stb.) nagy része az emberi kommunikációra használatos ábécéket általában elektronikus (leggyakrabban digitális) formában tudják csak megjeleníteni, pl. egy számítógép az összes digitálisan megjeleníthető karaktert (így a betűk kis és nagy variánsait, valamint egyéb speciális karaktereket is) számok formájában tudja csak tárolni és egymástól megkülönböztetni. Ezeket a számokból álló rendszereket nevezik karakterkódoknak.”
“Az angolszász, majd az európai országokból kiindulva az ASCII után először az úgynevezett Latin-1 kódolás terjedt el, ami tartalmazza az összes angol nyelvhez szükséges betűt, illetve számos európai nyelv betűit, de például a magyar „ő” és „ű” betűket nem (ezek helyett – helytelenül – gyakran használják a hullámos illetve a kalapos betűket: û ô vagy õ). Magyarhoz lehet azonban a Latin-2 (közép-európai)kódolást is használni, ami ismeri az ő és ű betűinket, de nem ismer más fontos betűket, például a cirill, görög, vagy például az örmény, indiai, arab és héber betűket, a kínai írásjegyeket és a japán kanákat. A Unicode és az UTF-8 kódolás egyszerre támogatja mindezen karakterek megjelenítését, és így minden nyelv egységes kódolást tud használni, megelőzve a betűk nem tervezett „átalakulását”. (Wikipédia)
Szerencsére már minden korszerű rendszer UTF-8 kódlapot használ, és a blackPanther OS több évvel megelőzte a Microsoft termékeket, mire alkalmazni kezdték a Windows-ban, vagy akár a legnagyobb disztribúciókban is.
Honnan tudjuk, hogy kódolási problémánk van?!
Ilyeneket láthatunk a fájlnevekben, vagy a fájl tartalmában:
0 1 2 | f�jln�vk�dol�s |
FIGYELEM!
Amikor a rendszer kódlapja rossz, már indítási szakaszban megjelenési hibát kapunk, illetve a TTY terminálokon az ékezetes betűk rosszul jelennek meg. Amikor a fiókunk kódlapja rossz, de a rendszer kódlapja jó, akkor ne állítsuk el a rendszerszintű beállításokat! Teszteljük a kódlap beállításokat egy átmenetileg létrehozott másik felhasználói fiókban. Amennyiben belépéskor minden karakter helyesen jelenik meg, a saját fiókunk beállításait kell ellenőrizni
A rosszul beállított kódlap, működési problémákhoz vezet!
Parancssorból indítható beállítófelület:
0 1 2 | beallitas locale |
Karakterkonverziós eszközök
- iconv – fájlok tartalmát konvertálja egy adott kódról egy másik kódra
0 1 2 | iconv -f iso-8859-2 -t utf-8 filename > Új_fáj |
- convmv – a fájlnevet konvertálja egy adott kódról egy másik kódra
Interaktív beállítás konzolban (rendszerszintű)
0 1 2 | beallitas orszag |
Karakterkódolások keresése
Jelenlegi kódolás
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | locale charmap # rövid UTF-8 locale # teljes lista, hiba esetén javasolt, így kell kinéznie a magyarhoz LANG=hu_HU.UTF-8 LC_CTYPE="hu_HU.UTF-8" LC_NUMERIC="hu_HU.UTF-8" LC_TIME="hu_HU.UTF-8" LC_COLLATE="hu_HU.UTF-8" LC_MONETARY="hu_HU.UTF-8" LC_MESSAGES="hu_HU.UTF-8" LC_PAPER="hu_HU.UTF-8" LC_NAME="hu_HU.UTF-8" LC_ADDRESS="hu_HU.UTF-8" LC_TELEPHONE="hu_HU.UTF-8" LC_MEASUREMENT="hu_HU.UTF-8" LC_IDENTIFICATION="hu_HU.UTF-8" LC_ALL= |
Elérhető lokalizációk:
0 1 2 3 4 | locale -a # vagy </code>localectl status |
Elérhető kódlapok
0 1 2 | locale -m |
Szűkítés egy nyelvre
0 1 2 3 4 | locale -a | grep 'hu_HU' hu_HU hu_HU.utf8 |
Lokalizáció lekérése Python-al
0 1 2 | python -c "import sys; print(sys.stdout.encoding)" |
Hiányzó lokalizáció telepítése
Például ‘English’ lokalizáció telepítése:
0 1 2 | telepites locales-en # vagy akár többet is telepíthetünk : locales-de locales-gb locales-..... stb. |
Kódlap váltása konzolból
0 1 2 3 4 5 | $rootmod [enter] $jelszó: # add meg a jelszót ami begépeléskor nem látszik! localedef -i hu_HU -f UTF-8 hu_HU.UTF-8 |
Samba megosztások kódolása
0 1 2 3 4 5 | mcedit /etc/samba/smb.conf dos charset = 1255 unix charset = UTF-8 display charset = UTF-8 |
A grafikus környezetben külön definálhatunk kódolásokat, de a kevert kódlapok nem csak megjelenítési, de működési problémákat is okoznak! Használj UTF-8 kódlapot!!
Felhasználói szintű!
A fiókod nyelvének egyéni beállítása a vezérlőközpontból az alábbi állományokat módosítja! Németország esetén:
~/.config/plasma-locale-settings.sh
0 1 2 3 4 5 6 7 8 9 10 | # egyéni értékek alkalmazása belépéskor (kivezetés alatt) export LC_NUMERIC=de_DE.UTF-8 export LC_TIME=de_DE.UTF-8 export LC_MONETARY=de_DE.UTF-8 export LC_MEASUREMENT=de_DE.UTF-8 # nem lehet több eltérő paraméter ha pl a localerc tartalmazza export LC_COLLATE=C export LANG=de:de_DE.UTF-8 export LANGUAGE=de:de_DE.UTF-8 |
és a ~/.config/plasma-localerc
például Ausztria esetén:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # a lokális beállíŧások [Formats] # vagy C vagy de_AT.UTF-8 ez is! LC_COLLATE=C LANG=de_AT.UTF-8 LC_MEASUREMENT=de_AT.UTF-8 LC_MONETARY=de_AT.UTF-8 LC_NUMERIC=de_AT.UTF-8 LC_TIME=de_AT.UTF-8 useDetailed=true # ezek a felöleti fordítások kiválasztásához kellenek [Translations] LANGUAGE=de:de_DE:en_US:hu |
Fontos! A nem UTF-8 kódlapú lokalizációs beállítások működési problémát okoznak. Az elhárításához állítsd vissza, vagy töröld ezeket az állományokat és indítsd újra a gépet. Amennyiben már indításkor vagy konzolon rosszak a karakterek, a rendszer lokális beállításánál engedélyezve van a “nem utf8 kódlap” (non-utf8)! Ezt tiltsuk le és új inditrd-t kell generálni. Amennyiben a Grub is rosszu jelenik meg, telepítsük újra a grub-ot is.
Hozzászólások lezárva