Intermédiaire 8 min de lecture 25 janvier 2025

notepad++ encoding : comprendre, configurer et éviter les corruptions

Fichiers enregistrés en ANSI, accents en , erreurs "headers already sent" à cause d'un BOM, colonnes CSV décalées à cause des fins de ligne. Avec Notepad++, ces problèmes viennent souvent d'un mauvais réglage d'encodage. Voici comment lire les indicateurs, convertir proprement et sécuriser vos fichiers pour ne plus perdre de temps.

Qu'est-ce que l'encodage dans Notepad++ ?

C'est la manière dont les octets sont interprétés comme du texte. Notepad++ affiche et enregistre selon l'encodage choisi, avec ou sans BOM, et avec des fins de ligne CRLF/LF.

Les éléments clés à connaître dans Notepad++ :

1 Encodages les plus utilisés dans Notepad++

Choix via le menu "Encodage" :

UTF-8 (sans BOM), UTF-8-BOM, ANSI (Windows-1252), UTF-16 LE/BE

2 Fins de ligne et compatibilité

Affichées en bas à droite (Windows/Unix) et convertibles :

CRLF (Windows), LF (Unix), CR (legacy)

3 BOM et détection d'encodage

Le BOM marque le début du fichier et peut poser problème :

UTF-8 BOM (EF BB BF) — à éviter pour le web/PHP
UTF-16 LE (FF FE), UTF-16 BE (FE FF)
Auto-détection imparfaite selon le contenu

4 Pièges fréquents d'encodage

Code pages Windows et caractères typographiques :

Windows-1252 : ’ “ ” … €
Accents "é" (mojibake) après mauvaise conversion
BOM résiduel qui casse les entêtes HTTP

Problèmes classiques

Fichier ouvert en "Encode in UTF-8" au lieu de "Convert to"

Les octets restent en ANSI mais sont interprétés en UTF-8, affichant "é" à la place de "é".

BOM ajouté par erreur

UTF-8-BOM génère des caractères invisibles en tête, causant des erreurs d'entêtes HTTP en PHP ou des diffs parasites.

CSV illisible à cause de CRLF/LF

EOL inadaptés au système cible, colonnes décalées et imports qui échouent.

Diffs Git massifs après "Convertir en UTF-8"

Conversion d'encodage et EOL en même temps : tout le fichier semble modifié.

Exemple de problème courant :

# Même texte, encodages différents (mojibake)
string1 = "é" # UTF-8 correctement interprété
string2 = "é" # Octets UTF-8 lus comme ISO-8859-1
assert string1 == string2 # ❌ Échec

Symptômes qui doivent vous alerter

🚨 Signaux d'alarme

!
Des "é è" s'affichent à la place des accents après ouverture dans Notepad++
!
"" ou un carré apparaît au tout début du fichier (BOM)
!
Un site PHP remonte "headers already sent" sans raison apparente
!
Git signale des changements massifs après simple sauvegarde Notepad++
!
Un copier-coller dans un terminal échoue à cause de CRLF

Comment vérifier l'encodage

Solution recommandée : Clean ASCII

Clean ASCII met en évidence les octets hors ASCII, détecte la présence d'un BOM et vous aide à identifier rapidement les anomalies d'encodage visibles dans Notepad++.

✅ Détection automatique

BOM UTF-8/UTF-16, caractères Windows-1252, octets non imprimables

📊 Analyse complète

Positions exactes, codes hexadécimaux, différences CRLF/LF

🧹 Nettoyage automatique

Suppression du BOM, conversions intelligentes vers UTF-8

💾 Export propre

Texte prêt à enregistrer en UTF-8 (sans BOM) dans Notepad++

Autres méthodes de détection

Affichage dans l'éditeur

Menu Encodage : vérifiez "UTF-8" ou "UTF-8-BOM" et utilisez "Convertir en..." pour changer définitivement
Affichage → Afficher les symboles → Afficher tous les caractères (voir CRLF/LF) et plugin Hex Editor pour repérer EF BB BF

En ligne de commande (Unix)

# Identifier l'encodage probable
file -bi fichier.txt
# Détecter un BOM en tête
xxd -g 1 -l 3 fichier.txt
# Convertir en UTF-8 depuis Windows-1252
iconv -f windows-1252 -t utf-8 fichier.txt > sortie.txt
# Normaliser les fins de ligne
dos2unix fichier.txt

En code

JavaScript

const hasBOM = s => s.charCodeAt(0) === 0xFEFF

Python

import chardet; chardet.detect(open("fichier.txt","rb").read())

Excel / Google Sheets

UNICODE(MID(cellule;position;1))

Nettoyer et prévenir

🚀 Correction rapide avec Clean ASCII

Avant de modifier vos préférences Notepad++, utilisez Clean ASCII pour diagnostiquer et assainir le contenu :

Détection BOM et octets hors ASCII
Conversion vers UTF-8 propre
Export immédiat prêt pour Notepad++

Méthodes techniques avancées

🔧 Normaliser

Menu Encodage → Convertir en UTF-8 (sans BOM) pour tous les fichiers
Supprimez le BOM et évitez UTF-8-BOM pour le web/PHP
Convertissez toutes les fins de ligne avec Édition → Conversion EOL

🧹 Filtrer

Remplacez les guillemets typographiques CP1252 par des équivalents ASCII
Normalisez Unicode en NFC pour éviter les formes décomposées
Bloquez les encodages hétérogènes dans un même dépôt

⚙️ Automatiser

.editorconfig : charset = utf-8, end_of_line = lf (ou crlf selon besoin)
.gitattributes : text eol=lf et hooks pre-commit pour refuser BOM
Paramétrez Notepad++ : encodage par défaut UTF-8 sans BOM, EOL par défaut

Checklist rapide

Fichiers en UTF-8 sans BOM (Notepad++ → Encodage)
Fins de ligne uniformes via gitattributes/EOL Conversion
Affichage des symboles activé pour voir CRLF/LF et espaces
Fonctions de normalisation Unicode (NFC) dans vos libs
Tests vérifiant l'absence de BOM et d'encodages non-UTF-8
Documentation équipe sur notepad++ encoding et EOL

Conclusion

Bien configurer notepad++ encoding évite la plupart des corruptions de texte : accents cassés, BOM indésirable, diffs EOL.

Adoptez UTF-8 sans BOM, maîtrisez CRLF/LF et convertissez au lieu de simplement "encoder" : vos fichiers resteront lisibles partout.

Vérifiez l'encodage de vos textes maintenant

Utilisez notre outil pour repérer BOM, octets hors ASCII et préparer un enregistrement propre dans Notepad++.

Analyser mon encodage