Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł! Do you want to support owner of this site? Click here and donate to his account some amount, he will be able to use it to pay for any of our services, including removing this ad.

Str. główna i mapa serwisu

Konfiguracja Hamstera – lokalnego serwera news

Opis dotyczy wersji Classic. Inne wersje mogą cechować się odmiennym sposobem funkcjonowania.

Uwaga: z powodu całkowitego braku dokumentacji informacje podane poniżej oparte są wyłącznie na moich własnych obserwacjach oraz podstawowych eksperymentach i mogą być obarczone niewielkimi błędami. Zalecane jest staranne przetestowanie reguł tworzonych na podstawie poniższego opisu, by uniknąć błędnych dopasowań wzorców filtrów.

Hamster jako taki nie używa żadnych kodowań i nie wymaga żadnej konfiguracji, by jakiekolwiek znaki narodowe i specjalne były wysłane lub odebrane prawidłowo (nie dotyczy niektórych skryptów i współpracujących programów, które mogą wymagać indywidualnej konfiguracji, np. Korrnews). Jedynie w przypadku punktowania (score) program może dekodować nagłówki (głównie nadawca i temat) z kodowania transportowego na postać 8-bitową i konwertować z róznych charsetów na charset użyty na komputerze użytkownika Hamstera, by następnie dopasować je do wzorców również zawierających znaki 8-bitowe. Znaki spoza US-ASCII mogą być zakodowane na wiele sposobów – w przypadku języka polskiego powszechnie wykorzystywane są trzy charsety (ISO-8859-2, UTF-8Windows-1250), dalsze dwa pojawiają się sporadycznie (ISO-8859-13Windows-1257), szósty możliwy charset – ISO-8859-16 – nie jest odnotowywany; każdy charset może pojawić się w jednej z czterech postaci kodowania transportowego – QuotedPrintable i trzy możliwe wyniki kodowania Base64. Dzięki dekodowaniu można na przykład łatwo odfiltrować listy zawierajace w temacie ciąg „u nas znajdziesz najtańszą ofertę” jedną regułą bez konieczności uwzględniania wszystkich dwudziestu możliwych kombinacji charsetu i kodowania transportowego użytych do zakodowania liter ą, ę i ń. Hamster od wersji 2.0.4.0 korzysta z tablic przekodowań zawartych w plikach konwersji, pliki .cnv w obecnej postaci wykorzystywane są od wersji 2.1.0.0. Pakiet dystrybucyjny Hamstera zawiera jedynie tablice przekodowań z kodowań zachodnich (ISO-8859-1, ISO-8859-15) i podzbioru unikodu na Windows-1252 (kodowanie języków zachodnioeuropejskich), co uniemożliwia skorzystanie z tej funkcji posiadaczom systemów ustawionych na język z innej grupy językowej (używający charsetu innego niż Windows-1252) oraz do punktowania listów pisanych w językach innych niż z grupy zachodnioeuropejskiej, np. po polsku. Plik z regułami filtrowania jest kodowany 8-bitowo (kodowanie systemowe, w przypadku polskiego Windowsa jest to Windows-1250).

Przygotowane zostały pliki konwersji z następujących charsetów:

(Dodatkowo Hamster potrafi odkodować ciągi zakodowane QP i B64 w Windows-1250, do czego nie wymaga pliku przekodowania).

Z wyjątkiem konwersji z ISO-8859-2 dokonywana jest częściowa konwersja – nie wszystkie znaki w charsecie wyjściowym istnieją w Windows-1250, znaki nieistniejące zamieniane są na znaki podkreślenia. W przypadku wszystkich charsetów ISO oraz US-ASCII dodatkowo na znaki podkreślenia zamieniane są znaki niezdefiniowane w danym charsecie (128 – 159 we wszystkich ISO, 128 – 255 w US-ASCII).

Z uwagi na stwierdzony całkowity brak wykorzystania kodowania ISO-8859-16 nie utworzono tabeli przekodowań dla tego charsetu.

Aby móc korzystać z plików konwersji, należy w Hamsterze otworzyć ustawienia (Konfiguracja ⇒ Ustawienia ogólne; ang. ConfigurationGeneral settings) i na zakładce Różne wpisać jako lokalną stronę kodową Windows-1250:

Należy też rozpakować archiwum z plikami konwersji na Windows-1250 do katalogu Hamstera, w którym będą już analogiczne pliki konwersji do kodowania Windows-1252 (o rozszerzeniu .cnv).

Wzorce zawierające znaki należące do kodowania Windows-1250 będą mogły zostać dopasowane, gdy dany list będzie prawidłowo zakodowany w jednym z obsługiwanych kodowań. W przypadku listów nieprawidłowych technicznie (nagłówki zawierające znaki 8-bitowe, brak deklaracji charsetu, znaki narodowe reprezentowane przez encje – to ostatnie to częsty problem różnych webmaili i bramek www ⇔ news) znaki narodowe nie zostaną zdekodowane. Dekodowanie uaktywnia się poprzedzając nazwę nagłówka tyldą. Należy też pamiętać, że wielkość liter z ogonkami ma znaczenie.

Technikalia

Struktura plików konwersji jest bardzo prosta: w każdej linii umieszcza się numer dziesiętny znaku z kodowania wejściowego, a następnie po znaku równości numer znaku (również dziesiętny) w kodowaniu lokalnym (w naszym przypadku Windows­-1250). Można pominąć znaki, które w obu kodowaniach mają te same numery — w tym wszystkie znaki o numerach poniżej 128. Ponieważ konwersja dokonywana jest w kolejności od początku do konca pliku, należy zwrócić uwagę, by wpisy były w prawidłowej kolejności, inaczej dokonana zostanie podwójna (czasami nawet potrójna) konwersja i filtrowanie nie będzie działało poprawnie. Na przykład w przypadku konwersji z ISO­-8859-2 do Windows­-1250 konieczne jest przeprowadzenie konwersji znaku nr 185 na pozycję 154, a dopiero potem znaku nr 177 na pozycję 185, w przeciwnym wypadku zarówno znak nr 185, jak i 177, zostaną w efekcie końcowym przekonwertowane na 154.

Uwagi:

  1. Jeżeli wzorzec ma zawierać znak podkreślnika, należy w plikach .cnv zamienić wszystkie ciągi =95 na inne, odpowiadające kodowi innego znaku który zostanie znakiem zastępczym. Jedynie nie należy ruszać linii 95=95 (o ile takowa występuje).
  2. Jeżeli okaże się konieczne traktowanie kodowań ISO-8859-1US-ASCII jako Windows-1252, należy usunąć pliki cs_iso-8859-1_windows-1250.csv oraz cs_us-ascii_windows-1250.csv i zastąpić je kopiami pliku cs_windows-1252_windows-1250.csv, nadając każdej kopii nazwę jednego z usuniętych plików.

Podziękowanie

Do zestawienia dwóch Hamsterów, dzięki czemu można było sprawdzić działanie reguł punktowania i poprawność przekodowywania bez korzystania z zewnętrznego serwera news, wykorzystane zostały informacje zawarte w pliku „Ham2Ham - małżeństwo prawie doskonałe dwóch Hamsterów” ze strony Nuty link do str. zewnętrznej – dziękuję.

Rozwiązania przetestowane na programie Hamster Classic w wersji 2.1.0.11 pod Windows 2000 SP4 English.

licznik