Na początku lat 90., kiedy rozpadł się ZSRR i otwarto granice Rosji, zaczęliśmy otrzymywać produkty oprogramowania zachodniej produkcji. Oczywiście wszyscy mówili po angielsku. W tym samym czasie Internet zaczyna się rozwijać. Problem rusyfikacji zasobów i programów stał się poważny. Następnie wynaleziono rosyjskie kodowanie Windows 1251. Pozwala ono poprawnie wyświetlać litery alfabetów słowiańskich:
- Rosyjski;
- Ukraiński;
- Białoruski;
- Serbski
- Bułgarski
- Macedoński.
Opracowanie zostało przeprowadzone przez rosyjskie przedstawicielstwo Microsoft wraz z firmami „Dialog” i „Akapit”. Podstawą były samodzielnie opracowane rozwiązania, które w latach 1990–91 były w obiegu wśród niewielu ideologów IT w Rosji.
Do tej pory opracowano bardziej uniwersalny sposób kodowania znaków - UTF-8 (Unicode). Stanowi prawie 90% wszystkich zasobów oprogramowania i sieci. Windows 1251 jest używany w 1,6% przypadków. (Informacje o badaniach technologii internetowych)
Kodowanie Utf 8 lub Windows 1251?
Aby odpowiedzieć na to pytanie, musisz trochę zrozumieć, czym jest kodowanie i czym się różnią. Informacje tekstowe, podobnie jak wszelkie inne, są przechowywane na komputerze w formie zakodowanej. Łatwiej nam przedstawić to jako liczby. Każda postać może zajmować jeden lub więcej bajtów. Windows 1251 to kodowanie jednobajtowe, a UTF-8 to osiem bajtów. Oznacza to, że w Windows 1251 można zakodować tylko 256 znaków..
Ponieważ wszystko sprowadza się do systemu binarnego, a bajt ma 8 bitów (0 i 1), maksymalna liczba kombinacji wynosi 28 = 256. Unicode pozwala reprezentować znacznie większą liczbę znaków, a dla każdego można przypisać większy rozmiar.
Stąd zalety Unicode:
- W nagłówku witryny należy wskazać używane kodowanie. W przeciwnym razie zamiast znaków będą wyświetlane „krokodyle”. A Unicode jest standardem dla wszystkich przeglądarek - domyślnie łapią go w locie.
- Symbole strony pozostaną takie same, niezależnie od kraju, w którym ładowany jest zasób. Nie zależy to od położenia geograficznego serwerów, ale od języka oprogramowania stacji roboczych klienta. Mieszkaniec Portugalii oczywiście używa klawiatury i całego oprogramowania, w tym systemu operacyjnego, w swoim ojczystym języku. Najprawdopodobniej na jego komputerze nie ma systemu Windows 1251. Jeśli tak, to strony w języku rosyjskim nie otworzą się poprawnie. Z kolei Unicode jest „podłączony” do dowolnego systemu operacyjnego w dowolnym języku.
- UTF-8 pozwala zakodować więcej znaków. Obecnie używanych jest 6 z 8 bajtów, a rosyjskie znaki są kodowane w dwóch bajtach.
Dlatego lepiej jest stosować uniwersalne kodowanie niż wysoce wyspecjalizowane, które jest stosowane tylko w krajach słowiańskich.
Tabela kodowania Windows 1251
W przypadku programistów i twórców stron internetowych może być konieczna znajomość numerów znaków. W tym celu stosuje się specjalne tabele kodowania. Poniżej znajduje się tabela dla systemu Windows 1251.
Co zrobić, jeśli kodowanie wiersza poleceń zostało uruchomione?
Czasami możesz spotkać się z sytuacją, gdy zamiast Rosjan w wierszu poleceń wyświetlane są niezrozumiałe znaki. Oznacza to, że występuje problem z kodowaniem wiersza poleceń systemu Windows 7. Dlaczego 7? Ponieważ, począwszy od 8. wersji, używany jest UTF-8, aw siedmiu Windows 1251.
Polecenie chcp 866 może pomóc w rozwiązaniu problemu w tym samym czasie Bieżąca sesja będzie działać poprawnie. Ale aby dramatycznie naprawić błąd, potrzebujesz rejestru.
- Naciśnij Win + R i wpisz regedit. Umożliwi to przejście do edytora rejestru..
- Przejdź do gałęzi HKEY_CURRENT_USER \ Console i sprawdź, jaka jest wartość CodePage. Najprawdopodobniej zobaczysz coś innego niż 866 (poprawna opcja).
- Poprawnie na 866 w systemie dziesiętnym.
- Zamknij i ponownie otwórz wiersz poleceń. Sytuacja powinna zostać naprawiona.
Miłego dnia!