polskie znaki diakrytyczne w różnych kodowaniach

Znaki diakrytyczne to nic innego jak popularnie nazwane polskie znaki (znaki specjalne spoza zestawu ASCII).

I dlatego aby poprawnie je wyświetlić to najpierw muszą być zapisane w odpowiednik kodowaniu a następnie odczytane w tym samym kodowaniu w jakim zostały zapisane. Kodowanie to musi obsługiwać polskie znaki.

Kodowanie – jest to określony sposób (standard) zapisu znaków oraz odczytywania wg. określonych reguł.
Prościej, przykładowo zapisujesz znak ś w kodowaniu ISO-8859-2 wiec wedle tego kodowania znak ś zostaje zapisany jako , ponieważ w ten sposób to kodowanie obsługuje polskie znaki. Przy odczycie tego znaku przy użyciu kodowania w jakim zostało zapisane (w tym wypadku ISO-8859-2) zostanie wyświetlony prawidłowy znak.

Można odróżnić kodowania jednobajtowe jak i wielobajtowe. Różnią się tylko tym iż znakom spoza ASCII przypisane jest 1 znak (1bajt) lub wiele np. 2 bajty. Przykładowo znak ś w kodowaniu jedno bajtowym ISO-8859-2 oraz w dwóch bajtach w kodowaniu UTF-8:
ISO-8859-2
UTF-8

Jakiego kodowania używać ?

UTF-8 – dlatego iż obsługuje bardzo wiele języków jak i niezliczoną ilość znaków specjalnych. Dlatego jest najbardziej uniwersalnym kodowaniem i najwygodniejszym.
Co do znaków specjalnych, dzięki użyciu UTF-8 na tej stronie można uzyskać taki efekt: ʞǝısoʇ

Jak ustawić określone kodowanie ?

Zawsze należy zacząć od zapisania pliku z określonym kodowaniem. Następnie należy pamiętać by ustawić właściwe kodowanie do odczytu tego dokumentu.

Ustawianie kodowania w HTML

Ustawiamy znacznik meta Content-Type w sekcji który wygląda tak:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

Gdzie utf-8 to kodowanie w jakim dokument ma zostać odczytany.
Bez prawidłowego zapisania nie zostanie poprawnie odczytany.

Przykładowy plik html z ustawionym kodowaniem utf-8:

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
	</head>
	<body>
		<h1>To jest dokument HTML odczytywany w kodowaniu utf-8</h1>
	</body>
</html>

Ustawianie kodowania w XHTML

Ustawianie kodowania w PHP