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.
Partager