Une recherche qui devrait correspondre ne trouve rien
Vous tapez la phrase à la main et le moteur ne trouve rien, alors que le texte est bel et bien sur la page. Les deux chaînes diffèrent d’un caractère que vous ne voyez pas.
Copier et coller · Référence des caractères
Copiez le trait invisible (U+00AD) en un clic — et, surtout, utilisez-le pour comprendre pourquoi le texte collé depuis un PDF refuse d’être trouvé, validé ou importé.
Cliquez dans la case pour sélectionner le caractère, puis appuyez sur Ctrl + C (⌘ + C sur Mac).
Les traits courts — pour les mots composés, noms et codes.
Le trait d’union conditionnel (U+00AD, écrit ­ en HTML) est le seul trait conçu pour être invisible. Il indique au moteur de rendu où un mot peut être coupé si une ligne doit revenir — un indice typographique, pas un caractère destiné à être lu. Quand la ligne coupe à cet endroit, un vrai trait apparaît en fin de ligne ; sinon, le caractère n’occupe aucun espace visible. Les journaux, les livres et la composition de textes longs utilisent l’idée depuis un siècle, et Unicode lui a donné un point de code pour que les fichiers puissent transporter l’indice avec le texte.
Sur le web et dans les données, cette invisibilité est précisément le problème. Un trait conditionnel n’est pas une espace, il n’apparaît donc pas comme un blanc étrange ; ce n’est pas un trait, une recherche de « - » ne le trouve donc pas ; et il ne peut pas être tapé dans une boîte de recherche-remplacement, car aucune touche ne lui correspond. Le texte copié depuis un PDF est la source classique : les générateurs de PDF sèment des traits optionnels dans les mots pour contrôler la coupure de ligne, et la copie du texte les emporte — voilà pourquoi une phrase collée depuis un PDF peut refuser de correspondre à la même phrase tapée à la main. Il en va de même pour le texte qui passe d’un traitement de texte vers un champ de base de données, une cellule de tableur ou une zone de recherche.
Le dégât est précis et facile à manquer. Un index de recherche contenant « information » ne trouvera pas la requête « information ». Un validateur de nom d’utilisateur qui rejette les octets non ASCII rejette un trait conditionnel alors même que l’utilisateur ne peut pas le voir. Un compteur de mots le compte. Un éditeur de code le signale comme caractère invalide dans une chaîne, parfois avec un message d’erreur qui pointe vers une colonne où rien ne semble anormal. La solution consiste à supprimer le caractère : le suppressueur de traits de ce site repère U+00AD par point de code et le supprime avec les espaces qu’il laisse derrière — le seul moyen fiable de retirer ce qu’aucun clavier ne peut produire.
Raccourcis clavier pour chaque plateforme — ou sautez la frappe et copiez le caractère ci-dessus.
| Plateforme | Raccourci |
|---|---|
| Word (Windows et Mac) | Ctrl + - insère un trait conditionnel (optionnel) dans le mot |
| Google Docs | Insertion → Caractères spéciaux → rechercher « soft hyphen » |
| Windows (toute application) | Alt + 173 sur le pavé numérique |
| HTML | ­ ou ­ — la seule variante de trait avec une entité nommée |
| Mac | Aucun raccourci et rien à voir — copiez-le ci-dessus ou utilisez Emoji et symboles |
| Word (l’afficher) | Accueil → ¶ Afficher/Masquer les marques de format le révèle dans le texte |
Le caractère dans son travail — et ce qui change si vous le remplacez par un autre tiret.
exam¬ple (invisible tant que la ligne n’en a pas besoin)
infor¬mation retrieval
cus¬tomer_id
https://dash¬remover.com
Quatre symptômes qui signalent qu’un trait invisible est dans votre texte, et quoi faire pour chacun. Sur cette page, le trait conditionnel est dessiné comme¬— le substitut qu’Unicode recommande pour un caractère qui, sinon, ne peut pas être affiché.
Vous tapez la phrase à la main et le moteur ne trouve rien, alors que le texte est bel et bien sur la page. Les deux chaînes diffèrent d’un caractère que vous ne voyez pas.
Un nom d’utilisateur, la partie locale d’un e-mail ou un slug est refusé bien que chaque caractère visible soit légal — l’invisible ne l’est pas.
Une flèche demande deux pressions pour franchir une seule lettre, ou un éditeur de code signale un caractère inattendu dans une colonne qui paraît vide.
Un nombre de caractères dépasse ce que le texte semble justifier, ou un champ de base de données limité en longueur refuse une chaîne qui tient à l’œil.
Aucun de ces diagnostics ne se confirme en regardant mieux — le caractère est conçu pour ne pas être vu. Confirmez-le par point de code : collez la ligne dans leidentificateur de traitset il signalera tout trait conditionnel trouvé, puis nettoyez le texte avec lesuppressueur de traits.
Trois caractères qui se ressemblent et ne se comportent jamais de la même façon. Copiez celui qu’il vous faut ou lisez la référence complète de chacun.
Le suppressueur de traits repère le trait conditionnel par point de code — le seul moyen de retirer un caractère que vous ne pouvez pas taper.
Supprimer les traits conditionnels