Kodowanie polskich znaków
Jak pewnie większość ircujących zauważyła, czasami zamiast polskich znaków w wypowiedziach innych użytkowników pojawiają się krzaczki. Spowodowane jest to faktem, że używają innego kodowania niż osoba która to potem czyta.
Jak podaje netykieta IRCNet-u – Polskie litery koduj w UTF-8, ISO-8859-2 lub ich nie używaj. Jako że w niektórych klientach (np. mIRC) są problemy z kodowaniem iso-8859-2, a większość (nawet mIRC) radzi sobie obecnie z UTF-8, proponuję przejście właśnie na to kodowanie.
Konfiguracja klienta
Chęci chęciami, ale nie każdy wie jak je wprowadzić w życie… zatem poniżej przedstawię sposób konfiguracji kilku najpopularniejszych klientów:
- irssi (działa w wersji 0.8.10 i nowszych) – najpopularniejszy klient dla systemu Linux, ale dostępny też na inne platformy
Po pierwsze należy poprawnie skonfigurować terminal. Jeśli w systemie jest zainstalowana obsługa UTF-8 dla języka polskiego (polecenie locale -a |grep pl powinno pokazać „pl_PL.utf8”), to zostaje nam konfiguracja. Jeśli nie – należy poprosić o to administratora. W pliku ~/.bash_profile wpisujemy:
LANG=pl_PL.utf8 LC_ALL=pl_PL.utf8 export LANG LC_ALL
Następnie (po ponownym zalogowaniu na nasze konto i odpaleniu w nim irssi) wpisujemy w irssi:
/set recode_autodetect_utf8 ON /set recode_fallback iso-8859-2 /set recode ON /set recode_out_default_charset utf-8 /set recode_transliterate ON /save
Jeśli na większości kanałów chcemy „pisać” w iso-8859-2 a jedynie na niektórych w utf-8, należy zmienić wartość recode_out_default_charset na „iso-8859-2”, a następnie dla każdego z kanałów na których chcemy pisać w utf-8 należy wykonać (przykład dla #quiz24)
/recode add #quiz24 utf-8
W ten sposób na wszystkich kanałach z wyjątkiem wybranych nadal będziemy wysyłać własne komunikaty w kodowaniu iso-8859-2, natomiast na wybranych – w utf-8. Podobnie można zrobić w drugą stronę – domyślnie ustawić utf-8, a dla wybranych dodać recode add #kanał iso-8859-2.
Jeśli do logowania na nasze konto korzystamy z putty, należy w nim w opcjach Windows/Translation ustawić character set UTF-8.
Jeśli na shellu korzystamy ze screena, to należy go odpalać z opcją -U, albo w pliku ~/.screenrc dopisać
defutf8 on
Jednak w starszych wersjach druga opcja może nie działać… należy wtedy korzystać z pierwszej opcji przy tworzeniu screena (screen -U). Zarówno w pierwszym jak i w drugim przypadku nic się nie zmienia przy przywracaniu takiego screena, czyli screen -r.
Jeśli w takim screenie chcemy w którymś oknie używać programu, który wspiera jedynie kodowanie iso-8859-2 (np. ekg), to należy w tym oknie: wcisnąć Ctrl-A, wpisać :encoding iso8859-2 utf-8 (tak, tam na początku jest dwukropek) i wcisnąć <enter>
Więcej informacji odnośnie ustawień kodowania dla irssi można znaleźć w dokumentacji irssi, jak również na 42.pl/utf.txt.
- mIRC (w wersji 6.17 i nowszych) – najpopularniejszy klient pod Windowsa
W opcjach IRC/Messages zaznaczamy opcje UTF-8 display, Multibyte editbox i odznaczamy opcje SJIS/JIS conversion oraz Multibyte display. Następnie w opcjach View/Font UTF-8 ustawiamy na Display and encode i zaznaczamy Set as default channel font (przy okazji można oczywiście zmienić czcionkę, jeśli wybrana jest nieczytelna)
- ChatZilla – klient będący rozszerzeniem do Firefoksa
Menu ChatZilla/Preferences, w zakładce General w polu Character encoding wpisujemy wartość „UTF-8” (jest to domyślna wartość, więc jeśli nie była zmieniana po instalacji, to jest ustawiona poprawnie