3.3 KiB
3.3 KiB
Changelog - FixEncoding pour NZBGet
Version 1.1 - 2025-10-27
🐛 Corrections de bugs
- Correction du bug de l'espace insécable : Le script détecte maintenant correctement le caractère "à" encodé comme
Ã\xa0(Ã + espace insécable U+00A0) - Amélioration de la détection avec double vérification (pattern + test de conversion)
✨ Améliorations
- Ajout de patterns supplémentaires pour les majuscules accentuées
- Liste étendue de patterns : É, È, Ê, Î, Ô, Ù, Û, Ç, Â, À
- La détection vérifie maintenant que la conversion produit un résultat différent
🔧 Outils ajoutés
- diagnose_filename.py : Script de diagnostic pour analyser les noms de fichiers problématiques
- Affiche les octets en hexadécimal
- Détecte les caractères suspects (espaces insécables, etc.)
- Teste la conversion et affiche le résultat
- Analyse des dossiers complets
📚 Documentation
- Ajout de PROBLEME_FICHIER_NON_CORRIGE.md : Guide détaillé sur les cas spéciaux
- Amélioration du README avec section de diagnostic
- Exemples de cas d'usage supplémentaires
🔍 Détails techniques
Problème corrigé :
Le caractère UTF-8 "à" (U+00E0) est encodé avec les octets 0xC3 0xA0.
Quand mal interprété comme ISO-8859-1 :
0xC3→ "Ã" (U+00C3)0xA0→ espace insécable (U+00A0, non-breaking space)
L'espace insécable est invisible mais différent d'un espace normal (U+0020).
Solution :
- Ajout du pattern
'Ã\xa0'à la liste de détection - Double vérification : si un pattern est trouvé, on teste si
filename.encode('iso-8859-1').decode('utf-8')produit un résultat différent - Si la conversion échoue, le fichier est ignoré (protection contre les faux positifs)
Version 1.0 - 2025-10-27
🎉 Version initiale
Fonctionnalités :
- Détection et correction automatique des problèmes d'encodage UTF-8 → ISO-8859-1
- Support des caractères accentués français : é, è, ê, à, â, ç, ô, etc.
- Options configurables via NZBGet :
- Debug : mode verbose pour les logs
- FileExtensions : filtre par extension
- DryRun : mode simulation
- Script de test standalone (test_fix_encoding.py)
- Documentation complète (README.md, QUICKSTART.md)
- Compatible multiplateforme (Linux, Windows, macOS, Docker, NAS)
- Traitement récursif des sous-dossiers
- Gestion sécurisée des erreurs
- Exit codes conformes aux standards NZBGet
Patterns supportés (v1.0) :
- é → é
- è → è
- ê → ê
- ë → ë
- Ã → à
- â → â
- ä → ä
- ç → ç
- ô → ô
- ö → ö
- ù → ù
- û → û
- ü → ü
- î → î
- ï → ï
- Å" → œ
- É → É
- À → À
Roadmap / Améliorations futures possibles
Court terme
- Support optionnel de ftfy (Fix Text For You) pour les cas complexes
- Option pour backup automatique avant renommage
- Rapport détaillé en JSON pour intégration avec d'autres outils
Moyen terme
- Support d'autres types de problèmes d'encodage (UTF-8 → CP1252, etc.)
- Interface de configuration avancée
- Statistiques cumulatives dans les logs
Long terme
- Détection automatique du type de problème d'encodage
- Support des langues autres que le français (allemand, espagnol, etc.)
- Plugin web pour visualisation dans l'interface NZBGet