Si votre fichier llms.txt affiche « é » à la place de « é », c’est qu’il est servi comme text/plain sans jeu de caractères, et que le navigateur devine mal. Le plus rapide : enregistrer le fichier en UTF-8 avec BOM. La solution plus propre : dire au serveur que le fichier est en UTF-8.
Le symptôme
Le fichier est écrit correctement, en UTF-8, mais une fois en ligne les accents s’affichent de travers. On le voit tout de suite en ouvrant l’adresse dans un navigateur.
La cause se vérifie en une commande :
curl -sI https://monsite.com/llms.txt | grep -i content-type
# Content-Type: text/plain
Aucun charset=utf-8 : le serveur ne précise rien, donc le navigateur (ou le robot qui lit le fichier) choisit lui-même un encodage.
Solution 1 : le BOM, en une minute
Le BOM (byte order mark) est une signature de trois octets, EF BB BF, placée au début du fichier. Elle indique « ce fichier est en UTF-8 » aux outils qui le lisent.
Avec Notepad++ :
- Ouvrez le fichier, puis menuEncodage.
- ChoisissezUTF-8 avec BOM (« UTF-8-BOM » en anglais). Ne prenez pas « Convertir en ANSI », ni « Encoder en… ».
- Enregistrez. La barre d’état en bas à droite doit afficher « UTF-8-BOM ».
- Envoyez le fichier par FTP à la racine du site, en modebinaire pour que le logiciel n’y touche pas.
- Rechargez avecCtrl+F5 : le navigateur garde volontiers l’ancienne version en cache.
Je l’ai fait sur mon fichier : le serveur répond toujours text/plain sans jeu de caractères, mais le navigateur lit maintenant l’encodage UTF-8 et les accents sont corrects.
Solution 2 : dire au serveur, avec .htaccess
Sur un serveur Apache, une règle suffit, à placer tout en haut du fichier .htaccess :
<Files "llms.txt">
ForceType "text/plain; charset=utf-8"
</Files>
Deux précautions :
- Faites unecopie de sauvegarde de
.htaccessavant de le toucher. Une erreur provoque une page 500 sur tout le site. - Enregistrez-le enUTF-8 sans BOM : dans un
.htaccess, un BOM déclenche cette même erreur 500.
C’est la solution durable, puisque le fichier n’a plus besoin de BOM. Je ne l’ai pas appliquée sur mon site, donc je ne l’ai pas testée en ligne. Après modification, la même commande curl -sI doit afficher charset=utf-8.
Pourquoi s’en soucier
Un llms.txt s’adresse à des machines, et rien ne garantit qu’elles corrigent un encodage douteux. Le correctif prend deux minutes : autant que le fichier soit lisible tel quel.
À retenir
Vérifiez l’en-tête avec curl -sI. S’il n’indique pas de jeu de caractères, ajoutez un BOM pour aller vite, ou une règle .htaccess pour faire propre, puis relisez l’adresse après un rechargement forcé.