damjanek Apprentice


Joined: 21 Jun 2004 Posts: 259 Location: Poland, Poznań
|
Posted: Sun Jul 30, 2006 11:35 am Post subject: [HOWTO] Recode w irssi |
|
|
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.
| Code: | | emerge -av net-irc/irssi |
Konfiguracja
Uruchamiamy irssi poleceniem:
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):
| Code: | 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:
| Code: | | /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.
| Code: | | /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:
| Code: | | /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:
| Code: | | /recode add #kanał kodowanie |
Na przykład:
| Code: | | /recode add #gentoo.pl UTF-8 |
W celu usunięcia powyższego, użyjemy:
| Code: | | /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:
| Code: | | /recode add sieć/#kanał kodowanie |
W naszym przypadku będzie to:
| Code: | | /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 _________________ $ uname -rms
Darwin 10.0.0 i386
Welcome to Darwin!
#gentoo-pl@freenode and #gentoo.pl@ircnet team |
|