Notizie: puoi sempre seguire i nostri aggiornamenti su Twitter (@MozillaItalia) e Facebook (/MozillaItalia)

Autore Topic: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)  (Letto 16140 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline UnoSD

  • Post: 55
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #15 il: 04 Maggio 2012 21:54:30 »
Purtroppo, la "codifica predefinita" è impostata a ISO...., non so perché visto che non l'ho mai toccata quell'impostazione! Ora non so quanto mi convenga armeggiare con le impostazioni. (Si, ho un'unità di backup, ma dovrei controllare i messaggi ad uno ad uno per essere sicuro che non abbia fatto casini prima di lasciarla definitiva e DECISAMENTE non mi va o non riuscirei a finire il lavoro prima del prossimo secolo...)

L'impostazione delle cartelle è come quella predefinita e non c'è selezionato "Applica...." quindi, come hai detto, dovrebbe autorilevare, ma non lo fa. Se metto UTF-8 si vedono male i caratteri non ASCII, se metto ISO... tornano alla normalità...

Offline Megabyte

  • Post: 1819
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #16 il: 04 Maggio 2012 22:05:56 »
La "codifica predefinita" (in lettura) in teoria può influire solo sulla visualizzazione dei messaggi (e non sul contenuto)… quindi l'eventuale modifica dovrebbe essere sempre pienamente reversibile.

In ogni caso entra in gioco solo se non c'è autorilevazione della codifica.

Se hai l'autorilevazione attiva, la codifica predefinita influisce sulla visualizzazione solo se il messaggio non ha una sua codifica univoca o se è malformato (cioè contiene errori strutturali).

Prova a controllare i messaggi che diventano illeggibili al variare della codifica predefinita.
Magari non hanno una loro codifica… e magari provengono tutti da uno stesso mittente. :?
« Ultima modifica: 05 Maggio 2012 01:06:11 da Megabyte »

Offline UnoSD

  • Post: 55
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #17 il: 05 Maggio 2012 09:11:00 »
Hai ragione, ora ho verificato e su ALCUNI messaggi funziona così... Però ci sono anche altri messaggi su cui non rileva proprio la codifica (non la rileva male, non la rileva affatto!) e quelli diventano illeggibili. Non capisco perché abbia questo problema.

P.s. I messaggi su cui non rileva la codifica confermati, per ora, sono dei file mbox importati, sono certo che la codifica sia ISO... perché li ho creati io e li ho specificamente salvati con gedit con codifica occidentale perché UTF-8 mi dava lo stesso problema prima.... (Evidentemente la codifica predefinita era ISO e non rilevandola, UTF-8 faceva casini...)

P.p.s Però mi sembra strano che Thunderbird non capisca la codifica di questi messaggi da solo... In fondo lo fa un semplicissimo editor di testo, perché non dovrebbe un grosso software email?

Offline Megabyte

  • Post: 1819
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #18 il: 05 Maggio 2012 11:31:04 »
Ecco dov'è il problema!! :shock:

Ogni messaggio ha una propria codifica (dichiarata nel sorgente).
Per vederla, apri il sorgente del messaggio e cerca le stringhe del tipo
Content-Type: text/html; charset="iso-8859-1"
oppure
Content-Type: text/plain; charset="UTF-8"

Se il messaggio è corretto, Thunderbird legge quelle stringhe e coerentemente adatta la codifica in lettura (indipendentemente dalla "codifica predefinita").
Se quelle stringhe non sono presenti o ci sono incoerenze nel messaggio, Thunderbird forza la lettura tramite la propria "codifica predefinita".

Se hai modificato manualmente la codifica dei file mbox (che si solito contengono messaggi con varie codifiche tra loro differenti), hai probabilmente inserito incongruenze nella posta archiviata: in molti messaggi la codifica dichiarata nel sorgente non corrisponde più alla codifica fisica (a causa della conversione forzata), e questa incoerenza si manifesta coi "simboli strani" in lettura.
Per questo avevo detto che "convertire" può essere pericoloso. :?

Thunderbird infatti capisce perfettamente la codifica dei singoli messaggi (se i messaggi non contengono errori).
Magari prova a riportare tutto allo stato originario (dopo aver fatto un backup di tutto il profilo attuale): a quel punto potrai variare le codifiche predefinite (senza però intervenire manualmente sui file di posta), e Thunderbird continuerà a decodificare correttamente anche i vecchi messaggi (tranne quelle poche email malformate inevitabilmente presenti qua e là).


La "regola generale" è che sui file del profilo è sempre meglio non lavorare a mano!! :wink:
« Ultima modifica: 05 Maggio 2012 11:42:40 da Megabyte »

Offline UnoSD

  • Post: 55
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #19 il: 05 Maggio 2012 13:49:31 »
Ogni messaggio ha una propria codifica (dichiarata nel sorgente).
Per vederla, apri il sorgente del messaggio e cerca le stringhe del tipo
Content-Type: text/html; charset="iso-8859-1"
oppure
Content-Type: text/plain; charset="UTF-8"

Credo di amarti profondamente!

Citazione
Se quelle stringhe non sono presenti o ci sono incoerenze nel messaggio, Thunderbird forza la lettura tramite la propria "codifica predefinita".

Adesso è tutto chiaro! Io pensavo la rilevasse dal contenuto come gedit/vim/et cetera...!

Citazione
Se hai modificato manualmente la codifica dei file mbox (che si solito contengono messaggi con varie codifiche tra loro differenti), hai probabilmente inserito incongruenze nella posta archiviata: in molti messaggi la codifica dichiarata nel sorgente non corrisponde più alla codifica fisica (a causa della conversione forzata), e questa incoerenza si manifesta coi "simboli strani" in lettura.
Per questo avevo detto che "convertire" può essere pericoloso. :?

Io non ho "modificato" la codifica, non ce l'ho mai messa!! XD
Sono file generati da me pardendo da xml provenienti da SMS di cellulari o da siti che li fanno mandare gratis...
Per avere dei messaggi "leggibili", mi limitavo a salvarli in ISO-8859-15 e ad importarli in Thunderbird... Questo mi stava scocciando notevolmente (anche perché non riuscivo ad usare Glib in un mio programma per convertire la codifica direttamente) quindi ti ringrazio davvero molto!

Citazione
Thunderbird infatti capisce perfettamente la codifica dei singoli messaggi (se i messaggi non contengono errori).
Magari prova a riportare tutto allo stato originario (dopo aver fatto un backup di tutto il profilo attuale): a quel punto potrai variare le codifiche predefinite (senza però intervenire manualmente sui file di posta), e Thunderbird continuerà a decodificare correttamente anche i vecchi messaggi (tranne quelle poche email malformate inevitabilmente presenti qua e là).

Mi esporto (o trovo gli originali di tutti i miei mbox) tutti i messaggi creati da me e ci aggiungo la stringa di codifica per UTF-8 e li reimporto...

Citazione
La "regola generale" è che sui file del profilo è sempre meglio non lavorare a mano!! :wink:

Concordo in pieno, per questo faccio un lavoro di import/export.

P.s. Ho cercato un maledetto manuale dello standard dei file mbox ma non riuscivo a trovarlo! Altrimenti avrei inserito la codifica dall'inizio!
Mi sapresti dire anche in che parte del file inserire questa stringa? Content-Type: text/plain; charset="UTF-8"
O se la devo mettere per ogni record...

Offline Megabyte

  • Post: 1819
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #20 il: 06 Maggio 2012 02:12:38 »
Sono molto contento di esserti stato utile e che tu abbia risolto!! :D


P.s. Ho cercato un maledetto manuale dello standard dei file mbox ma non riuscivo a trovarlo! Altrimenti avrei inserito la codifica dall'inizio!
Mi sapresti dire anche in che parte del file inserire questa stringa? Content-Type: text/plain; charset="UTF-8"
O se la devo mettere per ogni record...
All'interno del file mbox ogni email è totalmente indipendente dalle altre (quindi per ognuna bisogna ad esempio dichiarare la codifica).

Se ho ben capito, stai creando delle pseudo-email che poi vuoi importare in Thunderbird.
Se è così, forse ti conviene costruirle come file .EML (lasciando che sia poi Thunderbird a confezionare il file mbox dopo che avrai importato i vari file eml).

Per avere un "modello" del file eml da usare per i tuoi "messaggi", puoi creare tramite l'editor di Thunderbird un messaggio strutturato come quelli che vuoi costruire (con la giusta codifica), poi lo esporti come file eml (è sufficiente trascinarlo fuori da Thunderbird, e verrà automaticamente creato il rispettivo file eml), infine lo apri con un qualunque editor di testo per vederne la struttura (così da poterla poi "imitare").
Per importare un file eml in Thunderbird, è poi sufficiente trascinare la sua icona su una cartella di posta di Thunderbird.


Un altro metodo può essere creare un "modello" in Thunderbird (tramite l'apposita cartella "Modelli") e poi usarlo per costruire le varie pseudo-email (completandolo di volta in volta), col vantaggio di lavorare internamente a Thunderbird (e lasciando quindi a TB il compito di aggiustare ogni "email").
« Ultima modifica: 06 Maggio 2012 02:23:02 da Megabyte »

Offline miki64

  • Moderatore
  • Post: 35971
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #21 il: 06 Maggio 2012 07:39:44 »
Megabyte, tanto di cappello  :shock: per le tue spiegazioni!
Sono sempre chiare e rendi semplici pure i concetti più difficili, a me sconosciuti!
Da te si impara sempre molto!  :D

Offline UnoSD

  • Post: 55
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #22 il: 06 Maggio 2012 13:08:15 »
Citazione
Se è così, forse ti conviene costruirle come file .EML (lasciando che sia poi Thunderbird a confezionare il file mbox dopo che avrai importato i vari file eml).

Per avere un "modello" del file eml da usare per i tuoi "messaggi", puoi creare tramite l'editor di Thunderbird un messaggio strutturato come quelli che vuoi costruire (con la giusta codifica), poi lo esporti come file eml (è sufficiente trascinarlo fuori da Thunderbird, e verrà automaticamente creato il rispettivo file eml), infine lo apri con un qualunque editor di testo per vederne la struttura (così da poterla poi "imitare").
Per importare un file eml in Thunderbird, è poi sufficiente trascinare la sua icona su una cartella di posta di Thunderbird.


Un altro metodo può essere creare un "modello" in Thunderbird (tramite l'apposita cartella "Modelli") e poi usarlo per costruire le varie pseudo-email (completandolo di volta in volta), col vantaggio di lavorare internamente a Thunderbird (e lasciando quindi a TB il compito di aggiustare ogni "email").

Quando si tratta di centinaia di messaggi importati dal cellulare, farlo manualmente è un suicidio!! Per questo ho creato i vari script e software che lo fanno per me!
Però, ho come l'impressione, e spero tu potrai confermarmelo, che i file eml non siano altro che mbox singoli...

Ho, in questo momento provato ad esportare una bozza in eml appena scritta cui ho cambiato il formato in Unicode, testo semplice e vi ho scritto alcuni caratteri speciali. Purtroppo, anche se ho messo "testo semplice" il contenuto del file ha sempre i tag html -.-, però l'header sembra essere uguale a quello dei file mbox:

Codice: [Seleziona]
Date: Sun, 06 May 2012 13:03:45 +0200
From: X X <X@X.X>
X-Mozilla-Draft-Info: internal/draft; vcard=0; receipt=0; DSN=0; uuencode=0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.4) Gecko/20120501 Thunderbird/10.0.4
MIME-Version: 1.0
Subject: fsfdgdfg
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

Adesso provo a mettere "Content-Type: text/html; charset=UTF-8" o magari tento una "prodezza" con "Content-Type: text/plain; charset=UTF-8", vedo cosa succede e vi faccio sapere!

Offline Megabyte

  • Post: 1819
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #23 il: 06 Maggio 2012 14:00:59 »
Però, ho come l'impressione, e spero tu potrai confermarmelo, che i file eml non siano altro che mbox singoli...
Sì… penso sia proprio così.



Ho, in questo momento provato ad esportare una bozza in eml appena scritta cui ho cambiato il formato in Unicode, testo semplice e vi ho scritto alcuni caratteri speciali. Purtroppo, anche se ho messo "testo semplice" il contenuto del file ha sempre i tag html -.-
No… se crei un messaggio in "testo semplice", nell'intestazione non ci sono "riferimenti html".

Ad esempio, ho appena creato un "messaggio di prova" in formato "testo" e l'ho salvato in Bozze.
Esportandolo in eml, nel sorgente risulta questo:
Codice: [Seleziona]
...
X-Mozilla-Draft-Info: internal/draft; vcard=0; receipt=0; DSN=0; uuencode=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.4) Gecko/20120421 Thunderbird/10.0.4
MIME-Version: 1.0
Subject: Prova in txt
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Testo di prova



@miki64
Grazie per gli apprezzamenti (che naturalmente ricambio volentieri). :D
« Ultima modifica: 06 Maggio 2012 14:22:12 da Megabyte »

Offline UnoSD

  • Post: 55
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #24 il: 06 Maggio 2012 14:42:10 »
Citazione
Però, ho come l'impressione, e spero tu potrai confermarmelo, che i file eml non siano altro che mbox singoli...

Ho fatto varie prove, l'unica differenza tra gli eml e i mbox è una riga "From <qualcosa" all'inizio.

Citazione
No… se crei un messaggio in "testo semplice", nell'intestazione non ci sono "riferimenti html".

Boh, a me erano usciti... Comunque non importa, tanto modificando il tipo MIME funziona benissimo con text/plain!

P.s. Finalmente mi è tutto chiaro, ho fatto mille prove ed ho anche capito abbastanza bene come funzionano gli mbox e gli eml. Ringrazio davvero tanto Megabyte per l'aiuto e la disponibilità e se interessano a qualcuno posto anche tutte le mie conclusioni sui due formati che potranno essere utili anche a qualcun'altro...

P.p.s. Spero a breve di mettere su SourceForge anche il codice del mio "Convman" per convertire gli sms di Nokia, Android, Windows Mobile (e quelli gratis inviati dal sito della Tim che è stata la cosa più faticosa!) in mbox. Magari a qualcuno può essere utile come a me!

Offline Megabyte

  • Post: 1819
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #25 il: 06 Maggio 2012 20:37:04 »
...se interessano a qualcuno posto anche tutte le mie conclusioni sui due formati che potranno essere utili anche a qualcun'altro...

Sicuramente sono molto interessanti. :)

Secondo me può essere utile che le rendi pubbliche: in questo modo, chiunque potrà poi facilmente trovarle e beneficiarne.
« Ultima modifica: 06 Maggio 2012 20:40:33 da Megabyte »

Offline UnoSD

  • Post: 55
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #26 il: 07 Maggio 2012 00:21:09 »
Thunderbird 10.0.4 (con ImportExportTools 2.7.0.3)
su Gentoo AMD64 compilato con (alsa crashreporter crypt dbus ipc libnotify lightning linguas_it minimal startup-notification webm)

** Per i file eml:

Date:
   Molto probabilmente, se si usa +0200 davanti alla data (che dove sto usando Thunderbird adesso sarà il fuso giusto), l'ora rimane quella scritta messaggio.
   Se la cambio, Thunderbird, probabilmente, capisce che il messaggio è stato fatto in altra parte del mondo ed adegua l'ora a quella del fuso attuale quindi differisce da quella scritta nel file.
   Se non scrivo niente, la prende come data assoluta...
   (Mi conviene, per le cose scritte dal fuso orario in Italia, aggiungere +0200, così se mi sposto e cambio fuso orario, l'ora si adegua... O forse no e lascio sempre l'ora originale... (Molto probabilmente farò la seconda per pigrizia visto che gli altri messaggi sono ancora senza +XXXX e dovrei includere nei miei software un riconoscimento del fuso...)
   Ho provato a cambiare la data senza cambiare il giorno della settimana Sun, 6 May 2011 12:00:00 (che in realtà era venerdì) e sembra aver ignorato il "Sun" quindi non c'è bisogno di mettere il giorno giusto della settimana ANCHE SE RIMARRÀ COMUNQUE PER SEMPRE nel sorgente del messaggio, anche in Thunderbird, il giorno sbagliato della settimana quindi meglio evitare.
   Posso anche ometterlo il giorno della settimana ("Date: 06 May 2011 12:00:00") e l'importa correttamente.
   Non c'è bisogno dello 0 davanti al giorno. (nemmeno davanti all'ora od i minuti od i secondi)
   Il mese non può essere numerico ma deve essere scritto "May" "Apr" ... localizzato per forza in lingua inglese.
   Il mese può anche essere tutto in minuscolo.
   La data può essere futura.

Contenuto:
   !!Content transfer encoding 8bit l'ho tolto e non è cambiato niente, ma non so a cosa servisse... (credo si riferisca ad i byte della codifica (UTF-8), infatti con i messaggi ASCII dice 7-bit ed immagino che con gli UTF a lunghezza fissa dica 16bit
   Content-Type: text/plain è necessario, altrimenti mostra un messaggio vuoto. (o text/html se è html)

I file mbox hanno un formato diverso ma Content-Type:.... va bene lo stesso per indicare la codifica (e credo anche il contenuto, però non ho sperimentato).

** Per i file mbox:

Le email possono essere separate quanti line feed si vuole (ne basta anche uno [ovvero il prossimo proprio sotto al precedente]); non influenza il contenuto importato.

Richiede una riga "From INDIRIZZO-MITTENTE Sun May  6 02:33:46 2012" anche se ne ignora completamente il contenuto quando c'è From e Date di nuovo sotto...
Se lascio solo il From INDIRIZZO-MITTENTE, legge solo il primo elemento separato da uno spazio e lo usa come mittente.

L'unica differenza rispetto agli eml sembra essere la riga "From" iniziale che può anche essere completamente vuota (bada bene, deve essere "From -" altrimenti pensa che sia parte del messaggio precedente.
Thunderbird la esporta come "From - DATA" senza mittente.

Esempi:

eml:

Codice: [Seleziona]
Date: Sun, 06 May 2012 13:03:45 +0200
From: Mittente del messaggio <mittente@mail.com>
Subject: OGGETTO DEL MESSAGGIO
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Prova à è ì ò ù é CONTENUTO DEL MESSAGGIO
oppure:

Codice: [Seleziona]
Date: 6 May 2012 13:03:45 +0200
From: Mittente del messaggio <mittente@mail.com>
Subject: OGGETTO DEL MESSAGGIO
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title>fsfdgdfg</title>
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Prova à è ì ò ù é prova<br>
  </body>
</html>
mbox:

Codice: [Seleziona]
From -
Date: Sun, 06 May 2012 13:03:45 +0200
From: Mittente del messaggio <mittente@mail.com>
Subject: OGGETTO DEL MESSAGGIO
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Prova à è ì ò ù é CONTENUTO DEL MESSAGGIO

From -
Date: Sun, 06 May 2012 13:03:45 +0200
From: Mittente del messaggio <mittente@mail.com>
Subject: OGGETTO DEL MESSAGGIO
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Prova à è ì ò ù é CONTENUTO DEL MESSAGGIO

P.s. Da tener presente che sono appunti personali, quindi non ho dato una formattazione precisa né ho controllato la coerenza, se trovate errori o cose poco chiare, ditelo pure che correggo! A volte scrivo per "tag" per fare prima...
« Ultima modifica: 07 Maggio 2012 00:23:02 da UnoSD »

Offline UTF-8-ista

  • Post: 5
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #27 il: 08 Maggio 2012 15:48:48 »
Vedo che la discussione poi è continuata. Da quanto ho capito nel bug che ho aperto nel sito generale di thunderbird, che era solo l'ennesimo e non ultimo della serie (infatti l'hanno marcato come duplicato e non sarà risolto), pare che ogni versione nazionale di thunderbird può scegliere le proprie impostazioni iniziali.

Per chi vuole fare le prove, raccomando di non usare solo à è ì ò ù ma anche caratteri che possono essere di lingue che sono in altre regioni (per regioni intendo: Europa centrale, E. occidentale, Asia, ecc.)

Ad esempio provate a mettere insieme caratteri russi, cinesi, italiani, polacchi, greci, coreani, arabi. Magari li prendete da wikipedia. Vedete cosa succede.
Ad esempio i seguenti che ho preso da wikipedia:

العربية
中文
Latvie¨u
Norsk (bokmål)‬
한국어
Русский
Ελληνικά

Ho provato a scegliere le lingue orientali più famose per evitare un altro problema, ovvero la mancanza di font sul proprio computer.

Offline Customsoft

  • Post: 2
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #28 il: 12 Giugno 2014 17:02:28 »
Riapro il post per un problema stranissimo ... vediamo se riuscite ad illuminarmi la via della soluzione

Mando a me stesso la seguente email:
sss àò € ùì vvv

La ricevo e la leggo bene
Premo rispondi e la leggo bene
Premo inoltra e leggo quanto segue:
sss à ò € ùì vvv

Cartella -> proprietà è UTF 8
Posta in arrivo ed uscita -> UTF 8
Messaggio con Content-Type UTF 8
... ma in fase di INOLTRO mi si scombina tutto

Thunderbird versione 24.6.0

Cosa mi sfugge?
Grazie

Offline Customsoft

  • Post: 2
Re: Thunderbird dovrebbe "forzare" UTF-8 (standard W3C)
« Risposta #29 il: 17 Giugno 2014 15:17:07 »
Avete qualche test o verifica da suggerire?

0 Utenti e 1 Visitatore stanno visualizzando questo topic.