Guide des encodages hérités mondiaux : Comprendre les familles ISO-8859 et Windows-125x
Bien que l'UTF-8 soit désormais le standard mondial, des millions de fichiers, de bases de données et de systèmes hérités à travers le monde utilisent encore des encodages de caractères 8 bits régionaux. Pour les développeurs, les data scientists et les professionnels de l'IT, comprendre ces standards hérités est essentiel pour prévenir la corruption des données et réparer le "texte corrompu" (Mojibake).
Dans ce guide, nous explorerons les familles d'encodage régional les plus courantes, notamment la série ISO-8859 et les pages de codes Windows-125x de Microsoft.
1. La série ISO-8859 (Les standards mondiaux)
Les standards ISO-8859 sont les standards internationaux originaux pour les encodages de caractères 8 bits. Chaque partie du standard est conçue pour une région ou une famille de langues spécifique.
- ISO-8859-1 (Latin-1) : L'encodage 8 bits le plus largement utilisé, couvrant les langues d'Europe occidentale (anglais, français, allemand, espagnol, etc.).
- ISO-8859-2 (Latin-2) : Utilisé pour les langues d'Europe centrale et orientale (polonais, tchèque, hongrois, etc.).
- ISO-8859-5 (Cyrillique) : Un standard pour le russe et d'autres langues basées sur le cyrillique.
- ISO-8859-6 (Arabe) : Le standard pour la langue arabe.
- ISO-8859-7 (Grec) : Le standard pour le grec moderne.
- ISO-8859-8 (Hébreu) : Le standard pour la langue hébraïque.
- ISO-8859-9 (Turc) : Une adaptation de l'ISO-8859-1 pour la langue turque.
- ISO-8859-15 (Latin-9) : Une mise à jour moderne de l'ISO-8859-1 qui inclut le symbole de l'euro (€) et plusieurs lettres françaises/finlandaises manquantes.
2. La famille Windows-125x (Les extensions Microsoft)
Microsoft a développé son propre ensemble d'encodages 8 bits, souvent basés sur les standards ISO-8859 mais avec des modifications propriétaires.
- Windows-1252 (Western) : L'encodage par défaut pour les versions anglaises et ouest-européennes des anciens Windows. Il est presque identique à l'ISO-8859-1, mais utilise la plage des "codes de contrôle C1" pour les caractères imprimables comme les guillemets anglais et le symbole de l'euro.
- Windows-1251 (Cyrillique) : L'encodage hérité le plus populaire pour le russe, le bulgare et le serbe dans les environnements Windows.
- Windows-1250 (Europe centrale) : La version de Microsoft du Latin-2 pour Windows.
- Windows-1256 (Arabe) : Un encodage Windows courant pour l'arabe.
3. Encodages hérités spécialisés : KOI8-R
Avant l'essor du Windows-1251 et de l'Unicode, les systèmes Unix et les premiers systèmes Internet en Russie utilaient le KOI8-R (Kod Obmena Informatsiey 8-bit). Contrairement aux autres encodages, le KOI8-R a été conçu de manière à ce que les caractères cyrilliques correspondent à des lettres latines ayant des sons similaires si le bit de poids fort était supprimé, permettant au texte de rester partiellement lisible sur les systèmes qui ne supportaient que l'ASCII 7 bits.
4. Tableau de comparaison technique
| Famille d'encodage | Régions cibles | Meilleur cas d'utilisation | Alternative Unicode |
|---|---|---|---|
| ISO-8859-1 | Europe occidentale | Web hérité / Unix | UTF-8 |
| Windows-1252 | Europe occidentale | Applications Windows héritées | UTF-8 |
| ISO-8859-5 | Europe de l'Est | Systèmes cyrilliques hérités | UTF-8 |
| Windows-1251 | Europe de l'Est | Windows hérité (RU) | UTF-8 |
| KOI8-R | Russie | Unix hérité / Email | UTF-8 |
| ISO-8859-6 | Moyen-Orient | Web arabe hérité | UTF-8 |
5. FAQ : Questions fréquemment posées
Q : Pourquoi mes "guillemets anglais" (“” ) se transforment-ils en symboles étranges ?
R : C'est généralement une inadéquation entre l'ISO-8859-1 et le Windows-1252. L'ISO-8859-1 n'inclut pas les guillemets anglais, contrairement au Windows-1252. Si vous lisez du texte Windows-1252 en tant qu'ISO-8859-1, ces caractères seront corrompus.
Q : Quelle est la différence entre l'ISO-8859-1 et l'UTF-8 ?
R : L'ISO-8859-1 est un encodage 8 bits à largeur fixe qui ne peut représenter que 256 caractères. L'UTF-8 est un encodage à largeur variable qui peut représenter plus de 1,1 million de caractères de toutes les langues du monde.
Q : Comment récupérer du texte d'une base de données héritée ?
R : Vous devez identifier l'encodage d'origine des données (ex: Windows-1251 pour une base de données russe) et utiliser un décodeur approprié pour le traduire en UTF-8.
6. Maîtrisez les encodages hérités avec Tool3M
Ne laissez pas les données héritées devenir un cauchemar. Tool3M fournit une suite professionnelle pour réparer et convertir les encodages régionaux :
- Encodeur & Décodeur de la série ISO-8859 : Support pour les 15 parties du standard ISO-8859.
- Convertisseur de page de code Windows : Gérez de manière transparente le Windows-1250, 1251, 1252 et plus.
- Outil de récupération KOI8-R : Restaurez le texte russe hérité des systèmes Unix.
- Détecteur d'encodage mondial : Identifiez l'encodage source de n'importe quel fichier mystérieu.