• [^] # Re: meuh [Résolu ?]

    Posté par . En réponse au message Les mails et le charset windows-1252. Évalué à 2.

    Le problème, c'est le "?windows-1252?Q?", qui introduit un charset qui n'est pas vraiment standard... Dans un mail MIME, pour spécifier un encoding, on le fait de la forme:
    --8<--8<--8<--8<--8<---
    encoded-word = "=?" charset "?" encoding "?" encoded-text "?="
    --8<--8<--8<--8<--8<---
    (RFC 1522, paragraphe 2)

    On ne peut pas utiliser n'importe quel charset (RFC 1522, paragraphe 2), mais seulement ceux définits dans la RFC 1521:

    --8<--8<--8<--8<--8<---
    charset := "us-ascii"/ "iso-8859-1"/ "iso-8859-2"/ "iso-8859-3"
    / "iso-8859-4"/ "iso-8859-5"/ "iso-8859-6"/ "iso-8859-7"
    / "iso-8859-8" / "iso-8859-9" / extension-token
    --8<--8<--8<--8<--8<---
    (RFC 1521, paragraphe 7.1.2)

    Je pourrais supprimer le "?windows-1252?Q?" en début de sujet et le "?=" en fin de sujet, mais j'aurais alors des problèmes quand il y a différence entre le charset windows-1252 et le charset iso-8859-1 (car le charset Windows contient des symboles particuliers, comme l'euro, le trademark, etc etc). C'est là qu'intervient la combinaison pack+iconv de gc que je ne connaissait point (merci!)

    Donc, ça va donner quelque chose du genre:

    SI le sujet comment par "?windows-1252?Q?" ALORS
    SUPPRIMER en début le "?windows-1252?Q?"
    SI la fin du sujet se termine par "?=" (ça doit!, mais vérifions) ALORS
    SUPPRIMER en fin le "?="
    FIN SI
    Faire la convertion Windows-1252->UTF-8 à a main (pack, iconv)
    SINON
    Utiliser unmime de MIME::WordDecoder
    FIN SI