Cas 1 : � dans un fichier en réalité intact
Si un éditeur, un lecteur vidéo ou le navigateur affiche Caf� ou r�sum�, le fichier est généralement enregistré en Windows-1252 (ANSI) et lu en UTF-8. L’octet de la lettre accentuée n’est pas valide en UTF-8, et le programme insère le caractère de remplacement � à l’affichage. Le fichier lui-même contient toujours le bon octet.
Solution : déposez le fichier d’origine dans le cadre ci-dessus. Mojibuster détecte l’encodage à la lecture et convertit le fichier en UTF-8. Important : utilisez le fichier lui-même, ne copiez pas le texte depuis le programme – le copier-coller rend le � définitif.
Cas 2 : � ou ? est enregistré dans le texte
Si un programme a enregistré ou transmis le texte avec le caractère de remplacement, le caractère d’origine est perdu. Il en va de même pour ? : les programmes l’insèrent quand un caractère n’existe pas dans l’encodage cible – par exemple en enregistrant en ASCII ou en écrivant dans une colonne de base de données qui ne connaît pas le é.
Impossible de revenir en arrière, car toutes les lettres accentuées sont devenues le même caractère : d?j? ?t? peut se lire de plusieurs façons. Mojibuster indique combien d’endroits sont touchés au lieu de deviner. Seule la source peut aider : refaites l’export ou utilisez une sauvegarde.
Causes typiques des points d’interrogation
- Base de données : la colonne ou la connexion utilise
latin1ouasciialors que les données arrivent en UTF-8. MySQL remplace alors les caractères inconnus par?– passez àutf8mb4, voir réparer les caractères UTF-8. - PowerShell 5.1 :
Export-Csvécrit par défaut en ASCII et remplace les lettres accentuées par?. Indiquez-Encoding UTF8. - Python :
encode('ascii', errors='replace')remplace les caractères par?sans prévenir. - Console : l’invite de commandes Windows affiche en
?les caractères que sa page de codes ne connaît pas. Généralement, seul l’affichage est faux, pas le fichier.
Comment savoir dans quel cas vous êtes
- Ouvrez le fichier dans un éditeur qui affiche l’encodage, comme Notepad++. Si la barre d’état indique « ANSI » ou « Windows-1252 », c’est le cas 1.
- Déposez le fichier dans Mojibuster. Si le résultat indique « Lu en Windows-1252 (ANSI) » et que les accents sont revenus, c’était le cas 1.
- Si Mojibuster signale des caractères perdus, c’est le cas 2. Seul un nouvel export peut alors aider.
Les sous-titres sont un exemple typique du cas 1 : sous-titres avec accents cassés. Et si vous voyez des suites comme é au lieu de points d’interrogation, c’est une autre erreur, qui se répare presque toujours : é au lieu de é.
Questions fréquentes
Mojibuster peut-il retransformer ? en lettres ?
Non. Un ? peut remplacer n’importe quelle lettre : l’information a disparu. Mojibuster ne touche pas à ces endroits, mais vous indique combien il y en a.
Pourquoi je vois � dans un programme mais pas dans un autre ?
Le fichier est alors intact, et un seul des programmes le lit avec le mauvais encodage. Convertissez-le en UTF-8 avec Mojibuster, et les deux l’afficheront correctement.
Qu’est-ce que le caractère � ?
C’est le caractère de remplacement U+FFFD. Les programmes l’insèrent quand ils ne peuvent pas lire un octet comme caractère. Il signale une erreur d’encodage et ne fait pas partie du texte.