iconv + //TRANSLIT - conserver le nombre de caractères
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.