Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

nagłówek zakodowany

Termin Definicja
nagłówek zakodowany

Nagłówek zakodowany to pole zapisane metodą MIME, umożliwiającą użycie znaków narodowych w temacie lub nazwie nadawcy.

Czym jest nagłówek zakodowany w wiadomości MIME

Nagłówek zakodowany, nazywany również encoded-word, jest mechanizmem opisanym w standardzie MIME umożliwiającym zapisanie znaków spoza podstawowego zestawu ASCII w wybranych polach nagłówka wiadomości e-mail. Dotyczy to przede wszystkim pola Subject, czyli tematu wiadomości, oraz parametrów identyfikujących osobę lub adresata w polach From, To i Cc. Klasyczne nagłówki poczty internetowej były pierwotnie projektowane dla ograniczonego zestawu znaków ASCII, dlatego bez dodatkowego kodowania polskie litery, takie jak ą, ć, ę, ł, ń, ó, ś, ź i ż, mogły zostać usunięte, zastąpione znakami zastępczymi albo wyświetlone nieprawidłowo.

Reguły tego mechanizmu określa RFC 2047, zatytułowane „MIME Part Three: Message Header Extensions for Non-ASCII Text”. Zakodowany fragment nie jest osobnym nagłówkiem, lecz specjalnie sformatowaną częścią wartości istniejącego pola. Typowa postać ma schemat =?charset?encoding?encoded-text?=. Pierwszy element określa zestaw znaków, na przykład UTF-8, drugi wskazuje sposób kodowania, a trzeci zawiera przekształcony tekst. Końcowe ?= oznacza koniec encoded-word. Program pocztowy odczytuje tę strukturę i pokazuje użytkownikowi tekst w formie zrozumiałej, bez prezentowania samego technicznego zapisu.

Budowa encoded-word: charset, Q i Base64

Parametr charset informuje odbiorcę, jak interpretować bajty po zdekodowaniu. Współczesne wiadomości najczęściej wykorzystują UTF-8, ponieważ ten standard obejmuje znaki alfabetów używanych w wielu językach. Samo wskazanie UTF-8 nie wystarcza jednak do umieszczenia dowolnych bajtów bezpośrednio w nagłówku. Należy jeszcze zastosować jeden z mechanizmów przewidzianych dla encoded-word: kodowanie Q albo kodowanie Base64, oznaczane odpowiednio literą Q lub B.

Kodowanie Q jest przeznaczone dla tekstu, w którym występuje stosunkowo dużo znaków zgodnych z zapisem ASCII. Spacje zapisuje się jako znak podkreślenia, natomiast bajty wymagające specjalnego zapisu przedstawia się w postaci procentopodobnej, na przykład =C5=82 dla bajtu należącego do reprezentacji litery ł w UTF-8. Przykładowy temat może wyglądać tak: Subject: =?UTF-8?Q?Za=C5=82=C4=85cznik?=. Po dekodowaniu odbiorca powinien zobaczyć słowo „Załącznik”. W kodowaniu B dane są przedstawiane jako Base64, co jest korzystne przy większej liczbie znaków spoza ASCII, ale zwykle mniej czytelne dla człowieka analizującego surową wiadomość.

Encoded-word może wystąpić więcej niż raz w jednym polu. Pozwala to podzielić dłuższą wartość na kilka zakodowanych fragmentów, także wtedy, gdy w tekście występują różne zestawy znaków lub różne sposoby kodowania. Fragmenty są dekodowane kolejno i łączone w jedną wartość widoczną w programie pocztowym. Poszczególne encoded-word powinny mieścić się w ograniczeniach długości nagłówka określonych przez standard, dlatego poprawnie działający generator wiadomości dzieli długie tematy zamiast tworzyć jeden nadmiernie długi segment.

Gdzie wolno stosować nagłówki zakodowane

RFC 2047 określa, że encoded-word służy do rozszerzania wybranych wartości nagłówków, a nie do dowolnego zastępowania treści całej wiadomości. Mechanizm może być używany między innymi w temacie oraz w opisowej części adresu nadawcy lub odbiorcy, na przykład w zapisie Jan Kowalski <Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript.>, gdy nazwa wyświetlana zawiera polskie znaki. Sam adres pocztowy, czyli lokalna część przed znakiem @ oraz nazwa domeny, nie staje się automatycznie adresem w UTF-8 tylko dlatego, że nazwa wyświetlana została zakodowana.

Ważne jest rozróżnienie między nagłówkiem a treścią wiadomości. Tekst umieszczony w części głównej e-maila jest kodowany według mechanizmów dotyczących treści MIME, takich jak Content-Type z parametrem charset oraz Content-Transfer-Encoding. Encoded-word odnosi się natomiast do rozszerzonego zapisu wartości nagłówków. Nie należy więc traktować go jako ogólnego kodowania HTML, sposobu szyfrowania ani metody ukrywania wiadomości. Dane zakodowane Q lub Base64 nie zapewniają poufności, ponieważ można je odtworzyć bez klucza.

Program pocztowy powinien dekodować encoded-word podczas wyświetlania wiadomości, natomiast narzędzia diagnostyczne często pokazują równocześnie wartość surową i wynik dekodowania. Analiza obu postaci pomaga rozpoznać problemy takie jak błędny charset, niepoprawne bajty UTF-8, niezamknięty znacznik ?=, niewłaściwe użycie podkreślenia w kodowaniu Q albo uszkodzenie fragmentu podczas przenoszenia przez serwer pocztowy. Błąd w jednym nagłówku nie musi oznaczać problemu z załącznikiem lub z treścią wiadomości.

Rozpoznawanie problemu z wyświetlaniem polskich znaków

Nieprawidłowo wyświetlany temat, na przykład ciąg rozpoczynający się od =?UTF-8?, zwykle wskazuje, że klient pocztowy nie zdekodował encoded-word albo że nadawca utworzył go niezgodnie ze standardem. Podczas sprawdzania należy porównać deklarowany charset z rzeczywistą reprezentacją bajtów, zweryfikować oznaczenie Q lub B, a następnie sprawdzić, czy zakodowany tekst ma poprawną składnię. Szczególnej uwagi wymagają wiadomości przekazywane między różnymi programami pocztowymi, ponieważ każdy z nich może inaczej tolerować niepełne lub historyczne formaty nagłówków.

W praktyce diagnostycznej przydatny jest widok źródła wiadomości oraz porównanie tej samej wiadomości w kilku klientach pocztowych. Jeżeli surowy nagłówek zawiera poprawny zapis encoded-word, lecz interfejs pokazuje go dosłownie, przyczyną może być błąd programu, filtr antyspamowy albo nieprawidłowa interpretacja składni. Jeżeli natomiast w surowym zapisie występują uszkodzone sekwencje, problem powstał wcześniej, podczas generowania wiadomości lub jej przetwarzania. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, dlatego przy problemach z wyświetlaniem wiadomości można sprawdzić konfigurację klienta pocztowego, kodowanie systemu oraz działanie oprogramowania na używanym komputerze.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę