Standardów kodowania rosyjskich znaków jest, zależnie od tego jak je liczyć, co najmniej pięć. Wybór jednego z nich jest o tyle ważny, że teksty zapisane w danym standardzie są całkowicie nieodczytywalne w pozostałych (inaczej niż w alfabetach łacińskich, gdzie niezgodność kodowania upośledza tylko wyświetlanie niektórych liter).
Unikod
Wprowadzenie Unikodu (normą ISO 10646) rozwiązuje definitywnie wszystkie problemy z różnymi, niezgodnymi sposobami kodowania i umożliwia nie tylko wygodne pisanie w dowolnym języku bez zastanawiania się nad kodowaniem, ale również łączenie znaków diakrytycznych z wielu zestawów w jednym dokumencie. Jeżeli to możliwe, warto używać Unikodu.
Unikod jest realizowany za pomocą kilku różnych standardów kodowania, ale powszechnie stosowany w Internecie i wygodny do używania w Windows jest UTF-8.
Mimo swoich zalet, Unikod ciągle nie jest jednak wszędzie obsługiwany, dlatego czasem warto zdecydować się na inne kodowanie. Poniżej omówione są inne standardy kodowania, a na końcu znajduje się propozycja, którego kiedy używać.
Dwa najczęściej używane standardy
KOI8-R
Występuje także jako ISO-IR-111 i ECMA/Cyryllic. Standard de facto. Najbardziej rozpowszechniony sposób kodowania poczty elektronicznej i stron internetowych, którego pierwowzór objęty był normą GOST. Ósemka oznacza, że jest to wersja 8-bitowa (istniał również KOI7), a literka R - że kodowany jest alfabet rosyjski (obok m.in. ukraińskiego KOI8-U i połączonego z obu języków KOI8-RU).
Standard KOI8-R umożliwia zachowanie semigrafiki, a jego najciekawszą własnością jest to, że nawet wyzerowanie ósmego bitu nie powoduje utraty informacji, gdyż pierwsze 7 bitów każdej litery rosyjskiej pokrywa się z kodem jej łacińskiego odpowiednika (z jednoczesną zamianą małych liter na duże i vice versa). Przykładowo, po utracie 8 bitu Текст zostanie zamieniony na tEKST.
Windows-1251
Uzyskał swą popularność wraz z Windows dzięki temu, że jest standardem używanym przez ten system. Nie umożliwia korzystania z semigrafiki i nie zawiera pustego ostatniego znaku (FFh), co również może powodować problemy. Mimo tych wad jest wykorzystywany na wielu stronach w Internecie.
Pozostałe sposoby kodowania
ISO 8859–5:1988
Zwany czasem ISO-IR-113). Niewiele brakowało, a byłaby to kolejna emanacja KOI8-R. Tak się jednak nie stało w wyniku zmiany decyzji GOST, w ostatniej chwili. Standard de iure — jest on jednak na tyle nieudany (m.in. nie zawiera przynajmniej kilku przydatnych symboli) — że nigdy się nie przyjął i od zawsze był praktycznie martwy.
MS-DOS CP 866
System kodowania używany przez system operacyjny DOS. Umożliwia oczywiście korzystanie z semigrafiki.
MacCyryllic
Standard używany w komputerach firmy Apple.
Którego kiedy używać
Na stronach internetowych
Mniej więcej jednakowo popularne są KOI8-R i Windows-1251, przy czym ten drugi nie jest tak znienawidzony przez część społeczności internetowej jak jego polski odpowiednik Windows-1250.
- Jeśli będziesz pisać tylko po rosyjsku — użyj któregoś z nich.
- Lepiej użyć standardu Windows, jeśli będziesz redagować stronę pod tym systemem.
- Jeśli będziesz redagować stronę w Linuksie, lepiej użyć KOI8-R.
- Jeśli chcesz pisać na jednej stronie po rosyjsku i po polsku (albo w jakimś innym języku, który wymaga użycia znaków diakrytycznych) — użyj UTF-8.
W poczcie elektronicznej
Jak dla stron internetowych — jeden z powyższych albo w ogóle żaden
(użyj transliteracji).
Przenoszenie plików pomiędzy polskim a rosyjskim Windows
- Pliki pakietu Office (podobnie jak większość innych «bogatych» formatów) nie wymagają żadnych dodatkowych czynności.
- Pliki tekstowe stworzone w Notatniku najlepiej zapisywać w UTF-8 i w takiej postaci przenosić.
- Jeśli masz plik z tekstem rosyjskim, którego nie możesz przeczytać (wyświetlają się krzaki), otwórz go w przeglądarce internetowej i ręcznie zmień kodowanie na odpowiednie.
- Jeśli znaki diakrytyczne zostały użyte w nazwach plików, mogą pojawić się problemy z przenośnością.
Przenoszenie plików w Linuksie
- Zależnie od ustawień (KOI8-R albo UTF-8).
- W najgorszym wypadku użyj narzędzia
iconv -f CP1251 -t KOI8-R < źródło > cel (podane kodowanie jest przykładowe).
Gdy dalej nie jesteśmy pewni
Najbezpieczniejsze są:
- Transliteracja, bo — chociaż wygląda nienajlepiej — może być odczytana wszędzie.
- Unikod, w szczególności UTF-8, bo na pewno będzie go można wszędzie odczytać za 10 lat (kto dziś pamięta o takim kodowaniu polskich liter jak Mazovia czy Cyfromat)?
- KOI8-R, bo ze znaków można usunąć ósmy bit i w ten sposób wyświetlić tekst w łacińskim przybliżeniu (
MAŁE znaki zmienią się na duże i odwrotnie).
Tablice znaków wykorzystane w artykule pochodzą ze strony Romana Czyborra.
Autor: Piotr Szczepański