Knowledge Base

L'archivio documentale di supporto ai prodotti Achab.

KB52037 MDaemon - Problemi con caratteri speciali

Ultimo aggiornamento: 16/06/2017
Articolo valido per MDaemon versione: 17.0.2

Ricevo una email in cui alcuni caratteri non sono visualizzati correttamente. Come mai?


A tutti sarà capitato più di una volta di ricevere delle email in cui alcuni caratteri, ad esempio le lettere accentate, sono sostituite da altri caratteri o da quadratini. 

Ci sono varie spiegazioni per questo comportamento. Eccone alcune:

1. Codifiche diverse usate nelle risposte e negli inoltri di un messaggio

Per la posta elettronica non esiste una codifica universale di tutti i caratteri esistenti, o meglio, la codifica universale esisterebbe (Unicode) ma non viene adottata in quanto richiede 4 byte per rappresentare un singolo carattere. Sono nati ed usati quindi sistemi di codifica alternativa (ISO-Latin-X, UTF-8,...) per gestire i caratteri speciali (quelli che eccedono i primi 128 caratteri della tabella ASCII come le lettere accentate italiane, le umlaut tedesche i caratteri cirillici o dell'alfabeto greco, etc.). Nessuno di questi sistemi alternativi a Unicode è in grado di includere l'intero parco di caratteri esistenti.
Uno dei motivi per cui i caratteri non vengono visualizzati correttamente è proprio la disomogeneità tra il sistema di codifica usato dal mittente e quelli supportati dal destinatario. Facciamo un esempio:
Invio una email con la parola "martedì" che ha una lettera accentata, utilizzando il charset UTF-8. Se vado ad editare il testo nella email ricevuta trovo che la parola è stata codificata in questo modo:

marted=C3=AC

il destinatario risponde utilizzando il charset Windows-1252. La codifica della nostra parola può non essere alterata dal client in quanto la sequenza =C3=AC è una sequenza di caratteri dei primi 128 caratteri della tabella ASCII.
Ecco che al mittente del primo messaggio torna una email che contiene

....
charset="Windows-1252"
....
marted=C3=AC


Se il client decodifica la sequenza =C3=AC con il charset indicato, mostra

martedì

Per limitare l'impatto di questo problema occorre che tutti cerchino di utilizzare lo stesso sistema di codifica. Si può usare ad esempi UTF-8 che è molto diffuso.
In ricezione, se la visualizzazione non è corretta, si può provare a cambiare il set di caratteri utilizzati per visualizzare il messaggio (in Outlook ad esempio di deve fare doppio click sul messaggio per aprirlo in un popup e poi andare in Messaggio > Azioni > Altre azioni > Codifica).

2. Outlook Connector

Se si sta utilizzando Outlook + Outlook Connector, come client di posta, è opportuno leggere anche questo articolo.

3. Uso delle espressioni regolari nel filtro contenuti di MDaemon

Se i messaggi contengono caratteri speciali (ad esempio caratteri russi o cinesi) nell'oggetto e/o nel corpo del messaggio e gli stessi messaggi sono manipolati da regole del filtro contenuti che effettuano ricerche e sostituzioni nell'oggetto e/o nel corpo del messaggio utilizzando le espressioni regolari, i caratteri speciali saranno compromessi/alterati nella mail visualizzata dal destinatario.
Questo succede perché le espressioni regolari del filtro contenuti di MDaemon utilizzando una "vecchia" versione delle librerie del Perl che non supportano tali caratteri

Questo articolo ti è stato utile?

Lasciaci un feedback

Hai trovato delle inesattezze, vorresti fare delle integrazioni all'articolo o anche solo darci un tuo parere? Scrivici liberamente utilizzando il modulo sottostante.

 

Le tue informazioni non verranno pubblicate, ma inviate privatamente al responsabile della Knowledge Base.