Dalej Wyżej Poprzednio Spis treści indeks
Dalej: Jak wysłać plik binarny Wyżej: Konfiguracja poczty multimedialnej Poprzednio: Konfiguracja poczty multimedialnej

Przykład: co zrobić, żeby zawsze poprawnie widzieć polskie litery

Załóżmy teraz, że chcemy tak skonfigurować system, aby w zależności od warunków w jakich pracujemy poprawnie czytać list z ,,polskimi'' literami.

Co nam do tego będzie potrzebne? Wspomniany już program metamail. Jak wspominaliśmu dostępny jest on i dla środowiska DOS.

Przygotować musimy też plik MAILCAP.  Zakładam, że plik już istnieje i będziemy go tylko modyfikować.

Załóżmy dalej, że nie mamy żadnej możliwości wyświetlenia polskich liter na terminalu.

Załóżmy również, że zgodnie ze standardem MIME przesyłka zawierająca polskie znaki ma nagłówek:

Content-type=text/plain ; charset=iso-8859-2

W pliku MAILCAP modyfikujemy (jeżeli już jest) lub dopisujemy (jeżeli nie ma) następującą linię:

text/plain ; nopl %s
Tworzymy również plik wsadowy (skrypt) o nazwie nopl i umieszczamy go w którejś z kartotek znajdujących się w ścieżce PATH zawierający polecenia zamieniające znaki o kodach ISO-8859-2 na zwykłe ASCII. Może to być coś takiego:
plconv -ISO-Latin-2 <$1 | plconv +brak |less
(Ja wykorzystałem program plconv Jarka Strzałkowskiego.)

Analogiczne rozwiązanie można zastosować i w środowisku DOS (w tym przykładzie zakładam, że używany jest interpreter poleceń 4DOS). Plik nopl.bat wygląda tak:

if %_CODEPAGE EQ 852 (plconv -ISO-Latin-2 <%1 | plconv +IBM-Latin-2 |less)
if NOT %_CODEPAGE EQ 852 (plconv -ISO-Latin-2 <%1 | plconv +brak |less)
(Wykorzystałem dodatkowo fakt, że jeżeli została zainstalowan strona kodowa 852 - polskie litery można spokojnie wyświetlać.)

Cały problem polega na tym, że większość znanych mi programów pocztowych zakłada, że ,,umie'' poprawnie wyświetlać przesyłki o zawartości ,,text/*'' i w tych przypadkach niechętnie korzysta z z pliku MAILCAP. Oczywiście zapisanie treści listu (wraz z nagłówkami) do pliku i przetworzenie go za pomocą programu matamail powinno dać oczekiwany skutek.

Wykorzystnie parametru test pliku mailcap pozwala budować znacznie bardziej rozbudowane konstrukcje dokonujące różnego rodzaju przekształceń tekstu w zależności od tego jaki zestaw znaków jest używany.

Możemy również przekazać pewne dodatkowe parametry do uruchamianaego programu. Jeżeli w pliku mailcap pjawi się linia następująca:

text/plain; nopl %s %{charset}
podczas wywołania programu nopl ciąg znaków %{charset} zostanie zastąpiony przez aktualną wartość parametru charset czytanej przesyłki.


Dalej Wyżej Poprzednio Spis treści indeks
Dalej: Jak wysłać plik binarny Wyżej: Konfiguracja poczty multimedialnej Poprzednio: Konfiguracja poczty multimedialnej

Wojciech Myszka
pią, 14 lis 1997 11:12:41