J'essaie de traiter certains courriels entrants qui contiennent des caractères hébreux encodés dans Windows-1255.Comment empêcher TMail de laisser tomber les dernières lettres des courriels hébreux?
Quelques exemples de contenu:
From: =?windows-1255...
Subject: =?windows-1255...
...
--Boundary_(ID_/GX/qGlPt4gpL8Dqc2zQQg)
Content-type: text/plain; charset="windows-1255"
Content-transfer-encoding: quoted-printable
...
Le sujet est censé être "שאלה - ליאור צדוק", mais est plutôt "שאלה - ליאור צדו". Autrement dit, le dernier caractère est abandonné. La même chose est vraie du nom From
.
J'ai trouvé this issue sur la liste Iconv, qui décrit le même problème. Le dernier mot est la suivante:
In the original code snippet, there's a call to
iconv(the_iconv, NULL, NULL, &utf8, &bytes_written);
missing at the end.
Ce jives avec la documentation Ruby Iconv (que j'ai copied to this Gist), qui met l'accent sur l'importance d'ajouter nil
à la fin de l'entrée.
Je n'utilise nulle part dans mon code les Array
ou les versions de Block d'Iconv; J'utilise toujours la méthode d'assistance Iconv.iconv
, qui ajoute le nil
pour vous. J'ai vérifié la source TMail et utilise la même aide Iconv.iconv
.
Quelqu'un at-il déjà vu quelque chose comme ça?