©
. Document créé le 27 septembre 2001 , mis à jour le 14 mars 2007.La démocratie est le pire des régimes, à l'exception de tous les autres. Michel Audiard
Accueil du site > Astuces > LDAP > UTF-8 dans un fichier LDIF
OpenLDAP v.2 accepte deux formats de texte : ASCII et UTF8.
Le format ASCII (7 bits) comprend les caractères alphabétiques et numériques mais pas les caractères diacritiques (accents).
Si vous exportez votre base avec la commande slapcat, vous découvrirez que les données contenant des caractères accentués ont été convertis en quelque chose d’illisible à un humain. C’est de l’UTF-8 en base 64. Vous noterez également que le nom de l’attribut, à gauche de ce champ, est suivi non pas d’un caractère deux points ’ :’, mais de deux caractères deux points ’ ::’.
Donc, entre le nom d’un attribut et le contenu du champ, il y a un seul ’ :’ pour une donnée ASCII, et deux ’ :’ pour une donnée UTF-8 en base 64. Entre ce ’ :’ ou ’ ::’ et le contenu du champ, il n’y a qu’un seul espace. C’est une règle stricte (lire les RFC 2252 et autres sur les BNF, etc.. prévoir une longue soiré d’hiver et du bon café).
Si vous désirez remplacer une donnée UTF-8 directement dans un fichier d’export au format LDIF, voici la marche à suivre :
Il existe plusieurs outils pour convertir de l’ISO en UTF-8. Pour ma part, j’utilise utrans fourni avec i18ntools de G. Adam Stanislav (ftp://ftp.whizkidtech.net/unix/). Sous FreeBSD, i18ntools est dans /usr/ports/converters/i18ntools).
Les forums sont fermés.