| Termin | Definicja |
|---|---|
| kodowanie znaków | Kodowanie znaków to reguła przypisująca literom i symbolom ich numeryczną reprezentację w pliku lub transmisji. Jak komputer zapisuje litery i symboleKodowanie znaków to reguła przypisująca literom, cyfrom, znaków interpunkcyjnym i innym symbolom ich numeryczną reprezentację w pliku albo podczas transmisji. Komputer nie przechowuje tekstu jako obrazu liter. Zapisuje ciąg wartości liczbowych, a program odczytujący dane interpretuje te wartości zgodnie z określonym kodowaniem. Dopiero na tej podstawie system operacyjny lub aplikacja wyświetla odpowiednie glify, czyli graficzne postacie znaków. W praktyce trzeba odróżnić zestaw znaków od kodowania. Zestaw znaków określa, jakie symbole mogą być reprezentowane, natomiast kodowanie określa sposób zapisania ich wartości w bajtach. ASCII obejmuje między innymi podstawowe litery alfabetu łacińskiego, cyfry i znaki sterujące. Współczesne dokumenty wielojęzyczne najczęściej korzystają z Unicode, czyli systemu obejmującego znaki wielu alfabetów, symbole matematyczne, znaki walut i emoji. Unicode może być zapisany między innymi jako UTF-8, UTF-16 albo UTF-32. UTF-8, Windows-1250 i inne sposoby zapisu tekstuUTF-8 jest zmiennobajtowym kodowaniem Unicode. Znak może zajmować od jednego do czterech bajtów. Podstawowe znaki ASCII zachowują w UTF-8 jednobajtową postać, dlatego tekst anglojęzyczny jest z tym kodowaniem zgodny na poziomie podstawowych znaków. Polskie litery, takie jak ą, ć, ę, ł, ń, ó, ś, ź i ż, są w UTF-8 zapisywane przy użyciu większej liczby bajtów. Nie oznacza to jednak, że tekst jest uszkodzony; program musi po prostu prawidłowo odczytać strukturę kodowania. Windows-1250, nazywane również CP1250, jest jednobajtowym kodowaniem używanym dawniej często w polskich dokumentach i stronach internetowych. Może reprezentować określony zestaw znaków Europy Środkowej, ale nie obejmuje pełnego zakresu Unicode. ISO-8859-2, znane jako Latin-2, również było stosowane dla języków Europy Środkowej. Konwersja tekstu między UTF-8, Windows-1250 i innymi kodowaniami wymaga poprawnego wskazania kodowania źródłowego. Samo przepisanie bajtów bez konwersji nie zmienia znaczenia danych, lecz może spowodować wyświetlanie niewłaściwych znaków. W plikach tekstowych czasami występuje znacznik BOM, czyli Byte Order Mark. W przypadku UTF-8 jest to opcjonalna sekwencja bajtów na początku pliku, która może pomóc aplikacji rozpoznać kodowanie. Jej obecność nie jest jednak konieczna do prawidłowego zapisania tekstu UTF-8. W UTF-16 znaczenie ma także kolejność bajtów, określana jako little-endian albo big-endian. Program, który błędnie interpretuje kolejność lub ignoruje informacje o formacie, może wyświetlać nieczytelne symbole. Skąd biorą się krzaczki w dokumentach i wiadomościachNajczęstszy problem z kodowaniem znaków powstaje wtedy, gdy jeden program zapisuje tekst w jednym formacie, a drugi odczytuje go przy użyciu innej reguły. Polskie znaki mogą wtedy zostać zastąpione ciągami w rodzaju „ó”, „Ä…” albo znakami zapytania. Taki objaw często wskazuje na niezgodność między UTF-8 a kodowaniem jednobajtowym, ale może również wynikać z wielokrotnego zapisywania i konwertowania tego samego pliku. Nieczytelne znaki mogą pojawić się przy otwieraniu pliku tekstowego, imporcie danych z arkusza kalkulacyjnego, kopiowaniu treści między starszą i nowszą aplikacją, odczycie załącznika albo wyświetlaniu strony internetowej. W przypadku stron HTML informacja o kodowaniu może być przekazana w nagłówku HTTP albo w elemencie meta, na przykład przez deklarację UTF-8. Jeżeli serwer wysyła jedną informację, a dokument zawiera inną, przeglądarka może zastosować niewłaściwą interpretację. Podobny problem występuje w plikach CSV, gdy program eksportujący i importujący zakładają różne kodowania oraz różne separatory pól. Przy diagnozowaniu nie należy od razu zmieniać rozszerzenia pliku ani zapisywać go wielokrotnie w przypadkowych formatach. Najpierw trzeba ustalić, gdzie pojawia się niezgodność: w pliku źródłowym, aplikacji otwierającej, ustawieniach importu, transmisji pocztowej czy w przeglądarce. Jeśli oryginalne bajty zostały już zastąpione znakami zapytania, odzyskanie pierwotnych liter może być niemożliwe, ponieważ znak zastępczy nie przechowuje informacji o tym, jaki symbol znajdował się wcześniej. Jeżeli natomiast dane są poprawne, lecz błędnie interpretowane, ponowne otwarcie pliku z właściwie wybranym kodowaniem często pozwala zachować pełną treść. Sprawdzenie kodowania podczas serwisowania komputeraWeryfikacja problemu obejmuje sprawdzenie rodzaju pliku, programu używanego do jego otwarcia oraz sposobu, w jaki dane zostały utworzone lub pobrane. Pomocne jest otwarcie kopii dokumentu w edytorze pozwalającym wybrać kodowanie przy odczycie, a następnie porównanie wyniku dla UTF-8, Windows-1250 i innych formatów uzasadnionych pochodzeniem pliku. W przypadku strony internetowej trzeba sprawdzić zarówno deklarację kodowania w dokumencie, jak i nagłówki odpowiedzi serwera. Przy imporcie CSV należy zweryfikować kodowanie w oknie importu, ponieważ automatyczne rozpoznawanie nie zawsze działa prawidłowo. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, w tym diagnostyką problemów z systemem operacyjnym, aplikacjami oraz odczytem plików. W ramach analizy można ustalić, czy przyczyną nieprawidłowych znaków jest błędna konfiguracja programu, niezgodność formatu dokumentu, uszkodzenie pliku czy problem występujący podczas przesyłania danych. Odpowiednie postępowanie powinno zachować kopię oryginalnego pliku i ograniczyć konwersje do tych, których działanie można zweryfikować. Jeżeli problem dotyczy tylko jednego dokumentu, warto zachować jego pierwotną wersję oraz zanotować aplikację, w której został utworzony. Jeżeli nieczytelne znaki pojawiają się w wielu programach, przyczyną może być wspólne źródło danych, ustawienia regionalne systemu albo określony sposób importu. Rozdzielenie tych przypadków pozwala uniknąć niepotrzebnej zmiany konfiguracji całego komputera i ułatwia dobranie właściwej metody konwersji. |