# 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