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