caratteri strani, era Re: Re: R: [Soci SLIP] [OT] Acqua bene comune: Salviamo i Tumpi

loredana llcfree a gmail.com
Mer 19 Set 2012 11:04:08 CEST


On 9/18/12, Alessandro Pasotti <apasotti a gmail.com> wrote:

> Se davvero ci tieni a capire ti mando in privato il testo grezzo
> completo di header dei due messaggi, quello spedito da me e
> consegnatomi in cc da google (in cui i caratteri strani non ci sono) e
> quello inoltrato dalla mailing list e filtrato dal progettoarchivio
> (in cui i caratteri strani ci sono).
>
> In entrambi, il charset č iso-8859-1 (cioč latin9) ma mentre il primo
> (google) codifica correttamente l'encoding del traferimento come
> quoted-printable il secondo (la mailing list tramite progettoarchivio)
> lo cambia e reimposta imposta a 8bit.

Evidentemente il charset non e' quello che viene usato (probabilmente
perche' e' ancora generato automaticamente in modo sbagliato, in molti
casi, e non c'e' da fidarsi).

Ho provato ad usare il comando enca sui due files:

1) mail1.txt (quello in cui i caratteri strani non ci sono)

enca -L none mail1.txt

7bit ASCII characters
  Mixed line terminators

2) mail2.txt (quello in cui i caratteri strani ci sono):

enca -L none mail2.txt
Unrecognized encoding

Da notare che

enca mail1.txt
enca: Language `it' is unknown or not supported.
Run `enca --list languages' to get list of supported languages.
Run `enca -L none' to test only language independent, multibyte encodings.

Stesso per mail2.txt o qualsiasi testo.

enca --list languages

belarussian: CP1251 IBM866 ISO-8859-5 KOI8-UNI maccyr IBM855 KOI8-U
  bulgarian: CP1251 ISO-8859-5 IBM855 maccyr ECMA-113
      czech: ISO-8859-2 CP1250 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
   estonian: ISO-8859-4 CP1257 IBM775 ISO-8859-13 macce baltic
   croatian: CP1250 ISO-8859-2 IBM852 macce CORK
  hungarian: ISO-8859-2 CP1250 IBM852 macce CORK
 lithuanian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
    latvian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
     polish: ISO-8859-2 CP1250 IBM852 macce ISO-8859-13 ISO-8859-16 baltic CORK
    russian: KOI8-R CP1251 ISO-8859-5 IBM866 maccyr
     slovak: CP1250 ISO-8859-2 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
    slovene: ISO-8859-2 CP1250 IBM852 macce CORK
  ukrainian: CP1251 IBM855 ISO-8859-5 CP1125 KOI8-U maccyr
    chinese: GBK BIG5 HZ
       none:

Da notare che nella mia versione di enca ISO-8859-1 non e' nella
lista, ma ISO-8859-2 (quello con la c con caron al posto della e con
grave) si'. Tutte coincidenze, nessuna prova, ma a furia di
coincidenze si trova la prova.

Ora, la cosa interessante e' leggersi il manuale del comando enca
(info enca) perche' descrive le euristiche (i trucchi) con cui enca
cerca di indovinare qual e' il set di caratteri (indipendentemente da
quello dichiarato nel file, che potrebbe non essere corretto);

       The main reason why these command will fail and turn  your  files  into
       garbage  is that Enca needs to know their language to detect the encod‐
       ing.  It tries to determine your language and  preferred  charset  from
       locale settings, which might not be what you want.

In soldoni: enca usa la lingua in cui il testo e' scritto per decidere
di quale codifica si tratta. E cerca di determinarla a partire dal
linguaggio e dal set di caratteri di specifica nel set locale. Doh!

       Enca reads given text files, or standard input when none are given, and
       uses knowledge about their language (must be supported by  you)  and  a
       mixture  of  parsing, statistical analysis, guessing and black magic to
       determine their encodings, which it then prints to standard output  (or
       it  confesses it doesn't have any idea what the encoding could be).

In piu', usa una serie di altri trucchetti (statistiche, magia nera
etc) prima di rinunciare e confessare che non sa di cosa si tratti.

Immagino che a questo punto (unrecognized encoding, codifica non
riconosciuta), a seconda dei soggetti divinatori attraverso cui il
messaggio transita, si ottengano risultati diversi (caratteri buoni o
malvagi).

Immagino anche che i software lungo il percorso, liberi o meno che
siano, non facciano cose molto diverse da quel che fa enca (s'e' mai
visto negli ultimi 10 anni un software proprietario che non sia una
copia rubata al software aperto e poi chiusa? Sport in cui google e'
campione del mondo, ma altri non sono certo da meno. Il software
libero e' l'unico che non si lascia "rubare" e percio' attira molte
meno simpatie. Il dramma con google e' che distoglie i migliori e li
convince a produrre per lui, poi lascia libero solo quello che non e'
innovativo davvero e ben poco d'altro)

PS. con l'andar su' e giu' di questi messaggi il cui soggetto
originale era: Acqua bene comune si ribadisce il concetto: acqua bene
comune. Per niente OT, visto che, come il software libero, si tratta
di un bene comune da difendere. E' solo la polemica personale da
abolire. Tutti con gli occhi puntati sui problemi, non sul "nemico" di
turno (che non ci manca mai e scarica le coscienze dal cercare di far
meglio davvero del mostro, che e' sempre l'altro, che si attacca).

Loredana




Maggiori informazioni sulla lista Soci