Dodatek F.

Kodowania

Poniższa tabela zawiera sugerowane kodowania dla dużej ilości języków. Kodowania są wykorzystywane przez serwlety generujące informacje w wielu językach; określają one, które kodowanie znaków powinien wykorzystać PrintWriter serwletów. Domyślnie PrintWriter wykorzystuje kodowanie ISO-8859-1

(Latin-1), właściwe dla większości języków zachodnioeuropejskich. Aby określić alternatywne kodowanie, wartość kodowania musi zostać przekazana metodzie setContentType() zanim serwlet pobierze swój PrintWriter, na przykład:

odp.setContentType("text/html; charset=Shift_JIS"); // Kodowanie japońskie PrintWriter wyj = odp.getWriter; // Zapisuje japoński Shift_JIS

Kodowanie może być również ustawione pośrednio, przy pomocy metody setLocale(), na przykład: odp.setContentType("text/html"); odp.setLocale(new Locale("ja", "")); // Ustawia kodowanie na Shift_JIS

PrintWriter wyj = odp.getWriter; // Zapisuje japoński Shift_JIS

Metoda setLocale() przypisuje odpowiedzi kodowanie zgodnie z poniższą tabelą. W przypadku, gdy możliwe jest więcej niż jedno kodowanie, wybierane jest kodowanie umieszczone w tabeli na pierwszej pozycji.

Proszę zauważyć, że nie wszystkie przeglądarki WWW obsługują wszystkie kodowania, lub posiadają czcionki, dzięki którym istnieje możliwość wyświetlania wszystkich znaków, chociaż wszystkie klienty obsługują przynajmniej ISO-8859-1. Proszę także pamiętać, że kodowanie UTF-8 może reprezentować wszystkie znaki Unicode, a w związku z tym może być uznane za właściwe dla wszystkich języków.

Język Kod

języka Sugerowane

kodowania

angielski

en

ISO-8859-1

Albański sq ISO-8859-2

Arabski ar ISO-8859-6

białoruski

be

ISO-8859-5

Bułgarski bg ISO-8859-5

chiński (tradycyjny / Tajwan)

zh (kraj TW)

Big5

chiński (uproszczony / kontynentalny zh

GB2312

Chorwacki hr ISO-8859-2

czeski cs

ISO-8859-2

duński da

ISO-8859-1

holenderski nl

ISO-8859-1

estoński et ISO-8859-1

fiński fi

ISO-8859-1

francuski fr ISO-8859-1

grecki el

ISO-8859-7

hebrajski

he (dawniej iw)

ISO-8859-8

hiszpański

es

ISO-8859-1

islandzki is ISO-8859-1

japoński

ja

Shift_JIS, ISO-2022-JP, EUC-JP1

kataloński (hiszpański) ca

ISO-8859-1

koreański ko EUC-KR2

litewski

lt

ISO-8859-2

łotewski lv ISO-8859-2

macedoński mk ISO-8859-5

niemiecki

de

ISO-8859-1

polski pl

ISO-8859-2

portugalski pt

ISO-8859-1

rosyjski

ru

ISO-8859-5, KOI8-R

rumuński ro ISO-8859-2

serbski sr ISO-8859-5,

KOI8-R

serbsko-chorwacki

sh

ISO-8859-5, ISO-8859-2, KOI8-R

słowacki sk ISO-8859-2

słoweński sl ISO-8859-2

szwedzki sv ISO-8859-1

turecki tr ISO-8859-9

ukraiński uk ISO-8859-5,

KOI8-R

węgierski

hu

ISO-8859-2

włoski it ISO-8859-1

1 Obsługiwany po raz pierwszy w JDK 1.1.6. Poprzednie wersje JDK znają zestaw znaków EUC-JP pod nazwą EUCJIS, tak więc w celu zapewnienia przenośności można ustawić kodowanie na EUC_JP i samodzielnie skonstruować PrintWriter EUCJIS.

2 Obsługiwany po raz pierwszy w JDK 1.1.6. Poprzednie wersje JDK znają zestaw znaków EUC-KR pod nazwą KSC_5601, tak więc w celu zapewnienia przenośności można ustawić kodowanie na EUC_KR i samodzielnie skonstruować PrintWriter KSC_5601.