Typographie4 min de lecture
Pourquoi et comment supprimer les accents d'un texte
URL, identifiants techniques, exports ASCII : trois cas où les accents posent problème. La méthode Unicode NFD pour les enlever proprement, sans perdre d'information.
Dans 95 % des cas, on garde les accents (lisibilité, orthographe, accessibilité). Dans 5 % des cas, il faut s'en débarrasser : URL, identifiants techniques, exports vers un système ASCII strict.
Les 3 cas légitimes
| Cas | Pourquoi |
|---|---|
| URL / slug | RFC 3986 + encodage %C3%A9 illisible. |
| Identifiant technique (login, variable) | Compatibilité ASCII et stabilité. |
| Export legacy (CSV ANSI, mainframe) | Système incapable de lire UTF-8. |
La méthode Unicode NFD
La technique propre repose sur la décomposition canonique Unicode (forme NFD), qui sépare la lettre du diacritique. En JavaScript :
function stripAccents(str) {
return str.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
}
stripAccents("Tête-à-tête français œuvre"); // "Tete-a-tete francais œuvre"
Attention : œ, æ, ß ne sont pas des accents mais des ligatures. Ils survivent à NFD. Pour les transformer en oe, ae, ss, il faut un remplacement explicite.
Erreurs à éviter
- Ne pas supprimer les accents en base de données. La perte est définitive ; stockez en UTF-8, normalisez seulement à l'affichage technique.
- Ne pas appliquer aux noms propres dans l'interface utilisateur (« Hélène » reste « Hélène »).
- Ne pas confondre retirer les accents et passer en minuscules — ce sont deux opérations indépendantes.