# [HOWTO] Recode w irssi

## damjanek

Wprowadzenie

Recode to funkcja irssi pozwalająca używać różnych stron kodowych w zależności od kanału lub sieci z której korzystamy, niezależnie od tego, jakiego kodowania używa nasz terminal.

Wymagania

By używać recode w irssi potrzebujemy wersji 0.8.10.

```
emerge -av net-irc/irssi
```

Konfiguracja

Uruchamiamy irssi poleceniem:

```
$ irssi
```

Sprawdzamy, czy mamy dostępne polecenie /recode. Jeśli dostaniemy błąd informujący o braku takiego polecenia, upewniamy się, że korzystamy z wersji 0.8.10. Jeśli nasz system spełnia te wymagania, a polecenie /recode wciąż nie jest dostępne, najprawdopodobniej spowodowane jest to błędnym linkowaniem z biblioteką glib1 zamiast glib2. Irssi do funkcji recode wymaga zlinkowania z glib2.

Jeżeli polecenie locale (w konsoli, nie w irssi) zwraca wynik podobny do tego (może być to en_GB, czy cokolwiek innego):

```
LANG=pl_PL

LC_CTYPE="pl_PL"

LC_NUMERIC="pl_PL"

LC_TIME="pl_PL"

LC_COLLATE="pl_PL"

LC_MONETARY="pl_PL"

LC_MESSAGES=C

LC_PAPER="pl_PL"

LC_NAME="pl_PL"

LC_ADDRESS="pl_PL"

LC_TELEPHONE="pl_PL"

LC_MEASUREMENT="pl_PL"

LC_IDENTIFICATION="pl_PL"

LC_ALL=
```

Znaczy, że nasz terminal korzysta z kodowania iso-8859-2. W takim wypadku, ustawiamy zmienną term_charset (w irssi) na iso8859-2:

```
/set term_charset iso8859-2
```

Jeśli powyższe polecenie zamiast pl_PL (czy na przykład en_GB) zwraca pl_PL.UTF-8 (lub na przykład en_GB.UTF-8), znaczy to, że nasz terminal używa UTF-8. Musimy więc, ustawić zmienną term_charset na UTF-8.

```
/set term_charset UTF-8
```

Teraz podejmujemy decyzję: jeśli pośród kanałów na których przebywamy, więcej jest tych, na których używane jest iso-8859-2, recode_out_default_charset ustawiamy na iso8859-2:

```
/set recode_out_default_charset iso8859-2
```

Jeśli przeważa UTF-8, to zamiast iso8859-2 w powyższych komendach użyjemy UTF-8.

Użycie recode

Jeśli chcemy, by dla konkretnego kanału używać innego kodowania niż standardowe (to, które wybraliśmy w poprzednim akapicie), piszemy:

```
/recode add #kanał kodowanie
```

Na przykład:

```
/recode add #gentoo.pl UTF-8
```

W celu usunięcia powyższego, użyjemy:

```
/recode remove #gentoo.pl
```

Jeśli przebywamy na kilku kanałach o tej samej nazwie, ale w różnych sieciach, zamiast dodawać kodowanie dla danego kanału poprzez /recode add #kanał kodowanie, użyjemy:

```
/recode add sieć/#kanał kodowanie
```

W naszym przypadku będzie to: 

```
/recode add freenode/#gentoo.pl UTF-8
```

Sieć odnosi się do nazwy jaką nadaliśmy danej sieci, a nie do jej faktycznej nazwy.

Przy dodawaniu nazwy kanału, ważny jest hash (#) na początku jego nazwy.

Informacje, jak ustawić nazwę sieci, odnajdziemy tutaj: http://irssi.org/documentation/startup#c3

Więcej informacji na temat recode otrzymamy za pomocą polecenia /help recode.

Autorem artykułu jest Damian Szeluga. Wszystkie uwagi dotyczące tego tekstu można zgłaszać na adres damjanek at gentoo dot pl

----------

