| Termin | Definicja |
|---|---|
| kodowanie narodowe | Kodowanie narodowe to zestaw znaków obejmujący litery charakterystyczne dla danego języka, np. polskie diakrytyki. Czym jest kodowanie narodowe i skąd wzięło się jego zastosowanieKodowanie narodowe to sposób przyporządkowania znakom tekstowym określonych wartości liczbowych zapisywanych w pliku lub przesyłanych przez urządzenie. W praktyce obejmuje znaki potrzebne w konkretnym języku albo grupie języków, między innymi litery z polskimi znakami diakrytycznymi: ą, ć, ę, ł, ń, ó, ś, ź i ż. Sam znak widoczny na ekranie nie jest przechowywany jako rysunek. Program odczytuje wartość z pliku, interpretuje ją zgodnie z wybranym kodowaniem i dopiero wtedy wybiera odpowiedni glif z używanego kroju pisma. W starszych systemach stosowano przede wszystkim jednobajtowe strony kodowe. Jedna wartość bajtu odpowiadała jednemu znakowi, ale zakres możliwych znaków był ograniczony. Dla języka polskiego spotykało się między innymi ISO-8859-2, znane jako Latin-2, oraz Windows-1250, określane również jako środkowoeuropejska strona kodowa systemu Windows. Oba standardy zawierają polskie litery, lecz nie przypisują wszystkim znakom identycznych wartości. Z tego powodu plik zapisany w jednym kodowaniu może zostać błędnie wyświetlony po otwarciu jako inny standard. Polskie znaki w systemach jednobajtowych i UnicodeWspółczesne programy coraz częściej korzystają z Unicode, czyli uniwersalnego systemu przypisywania kodów znakom wielu języków. Unicode nie jest pojedynczym sposobem zapisu bajtów. Jest zbiorem punktów kodowych, natomiast kodowania takie jak UTF-8, UTF-16 i UTF-32 określają, jak te punkty są reprezentowane w pamięci lub w pliku. UTF-8 jest kodowaniem o zmiennej długości: podstawowe znaki alfabetu łacińskiego zajmują jeden bajt, a wiele innych znaków, w tym polskie litery, jest zapisywanych przy użyciu większej liczby bajtów. UTF-8 zachowuje zgodność z siedmiobitowym ASCII dla podstawowych znaków angielskiego alfabetu, cyfr i części znaków sterujących. Nie oznacza to jednak, że każdy plik zawierający wyłącznie litery łacińskie ma jednoznacznie rozpoznawalne kodowanie. Taka sama sekwencja bajtów może być poprawna w kilku standardach. Program nie zawsze potrafi więc pewnie ustalić sposób zapisu bez informacji zapisanej w metadanych, ustawieniach aplikacji albo deklaracji formatu dokumentu. W dokumentach internetowych kodowanie może być wskazane między innymi przez nagłówek HTTP lub deklarację w kodzie HTML, a w plikach tekstowych często zależy od konfiguracji edytora. Dlaczego pojawiają się krzaczki zamiast ą, ł i żNajczęstszym skutkiem niezgodności kodowania jest tak zwane mojibake, czyli tekst odczytany według niewłaściwej tabeli znaków. Jeżeli bajty zapisane jako Windows-1250 zostaną potraktowane jako UTF-8, część znaków może zostać zastąpiona symbolem zastępczym, pytajnikiem albo innym nieprawidłowym znakiem. Odwrotna sytuacja także jest możliwa: poprawny tekst Unicode może zostać uszkodzony podczas eksportu do ograniczonego kodowania, które nie zawiera wszystkich użytych znaków. Problem może wystąpić przy otwieraniu pliku w edytorze tekstu, imporcie danych do arkusza kalkulacyjnego, kopiowaniu treści między aplikacjami, odczycie załącznika pocztowego albo wyświetlaniu strony internetowej. Ważne jest rozróżnienie między błędnym wyświetlaniem a fizycznym uszkodzeniem danych. Jeśli oryginalne bajty są nadal zapisane prawidłowo, zwykle wystarczy ponownie otworzyć plik z właściwym kodowaniem i zapisać go w uzgodnionym standardzie, najczęściej UTF-8. Jeżeli plik został wcześniej zapisany po błędnej konwersji, odzyskanie znaków może wymagać prześledzenia kolejnych etapów przetwarzania i znalezienia wcześniejszej, nieuszkodzonej kopii. Rozpoznawanie kodowania podczas pracy serwisowejRozpoznanie problemu zaczyna się od ustalenia, gdzie tekst wygląda nieprawidłowo: w konkretnym pliku, jednej aplikacji, przeglądarce internetowej czy we wszystkich programach. Następnie można porównać sposób otwierania tego samego dokumentu przy ustawieniach UTF-8, Windows-1250 oraz ISO-8859-2, sprawdzić deklarację kodowania w pliku i zweryfikować, czy aplikacja nie wykonuje automatycznej konwersji podczas importu lub eksportu. Sama zmiana czcionki nie naprawia kodowania, ponieważ krój pisma odpowiada za wygląd znaku, a nie za interpretację bajtów. Warszawskie Pogotowie Komputerowe wykonuje diagnostykę i naprawę laptopów, komputerów PC oraz ich oprogramowania, w tym problemów z nieprawidłowym wyświetlaniem polskich znaków i konwersją plików tekstowych. W ramach analizy można ustalić, czy przyczyną jest ustawienie aplikacji, niezgodna deklaracja dokumentu, błędny import danych, uszkodzenie pliku czy brak odpowiednich znaków w używanym kroju pisma. Prawidłowa naprawa polega na zachowaniu oryginalnych danych, dobraniu właściwego kodowania oraz sprawdzeniu zapisu i odczytu dokumentu w programie, który wcześniej prezentował tekst niepoprawnie. |