Indy: TidMessage rimuove tutti gli accenti, come disattivare questa?
Domanda
io mando messaggi di posta elettronica utilizzando i componenti Indy TidSMTP
e TidMessage
.
Le mail che ricevo sono senza accenti.
Se lo faccio, per esempio:
MyTIdMessage.Body.Text := 'Tèst';
Come ricevo l'e-mail che vedo "Test" al posto di "TEST"
C'è un modo per dire TIdMessage non ignorare gli accenti o si tratta di bug?
Nota: io sto usando Indy 10.5.8.0
Soluzione
Assicurarsi di impostare il circuito di codifica corretta, ContentTransferEncoding e CharSet. Essendo uno dei più antichi del protocollo, la posta è stato progettato per essere utilizzato dai computer utilizzando solo 7 bit, e caratteri non US-ASCII deve quindi essere codificato. Ci sono alcuni modi diversi (quoted-printable, ecc.)
Anche controllare l'evento OnInitializeISO.
Altri suggerimenti
Assicurati di aver impostato il corretto CharSet in questo modo
MyIdMessage.CharSet := 'US-ASCII';
i valori stringa sono elencati nella matrice IdCharsetNames.