Bonjour,

Je dois effectuer une conversion d'encodage de utf8 vers iso8859, en remplaçant les caractères "inconnus" sous iso par leur équivalent. J'utilise donc la commande iconv avec le suffixe //TRANSLIT.

Parfois le caractère inconnu est remplacé par plusieurs caractères (exemple : œ devient oe) et dans mon cas ce n'est pas acceptable (contrôle strict sur la longueur du contenu des champs).

Utiliser le suffixe //IGNORE à la place de //TRANSLIT n'est pas envisageable car il modifie aussi le nombre de caractères.


Je cherche donc un moyen de faire la translitération en conservant le nombre de caractères d'origine, quitte à "fausser" un peu le contenu de la donnée (ex : si œ devient e ça passe).

Existe-t-il une option pour TRANSLIT permettant de conserver le nombre de caractères ? Ou une autre fonction "standard" pour faire la même chose ? (je préfère éviter autant que possible les bricolages avec sed ou ce genre de chose)


Je vous remercie par avance pour votre aide.