Réponse technique directe
L'encodage des caractères associe les symboles du texte humain à des nombres binaires que les ordinateurs peuvent stocker et traiter. Les premiers encodages historiques (ASCII, ISO-8859-1, Windows-1252) utilisaient 7 ou 8 bits et provoquaient une corruption massive du texte (mojibake) en raison de pages de codes incompatibles. Aujourd'hui, UTF-8 est le standard universel mondial : il représente les 1 114 112 points de code Unicode tout en restant rétrocompatible avec ASCII.
L'évolution des encodages de texte
Comment les systèmes informatiques sont passés des pages de codes propriétaires de 8 bits à un standard mondial unique et unifié.
1. ASCII (1963) : la fondation 7 bits
2. Le chaos 8 bits : ISO-8859 et pages de codes Windows
3. Unicode et UTF-8 : la solution définitive
Déclarer UTF-8 dans toute la pile web pour éliminer le mojibake
<!-- 1. HTML5 document charset declaration (must be in top 1024 bytes) -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>UTF-8 Web Document</title>
</head>
<body>
<p>Hello world • Café • 東京 • 🚀</p>
</body>
</html>
Hello world • Café • 東京 • 🚀
Pourquoi UTF-8 a gagné le web
Aujourd'hui, plus de 98 % des sites web et des systèmes d'exploitation modernes utilisent UTF-8.
Rétrocompatibilité ASCII
Auto-synchronisation et robustesse
Aucun souci d'endianness
Erreurs courantes vs modèles de production
Découvrez quels modèles échouent en production et leurs alternatives modernes conformes aux standards.
Configurer MySQL pour Unicode
Interclassement et jeux de caractères des tables de base de données.CREATE TABLE users (
name VARCHAR(50)
) CHARACTER SET utf8; -- In MySQL, utf8 supports ONLY 3 bytes (BMP)!
CREATE TABLE users (
name VARCHAR(50)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Matrice des cas limites et invariants
Une matrice de tests diversifiée comparant le comportement des caractères entre ASCII, signes combinants, emojis, drapeaux et fragments de substitution.
| Cas de test | Glyphe d'entrée | Unités de code | Points de code | Graphèmes | Catégorie | Explication technique |
|---|---|---|---|---|---|---|
| Motif de mojibake | café |
—
|
—
|
—
|
Standard |
Normes et provenance des sources
Tous les invariants techniques, API et comportements de ce guide sont vérifiés par rapport aux spécifications primaires officielles.
The Unicode Standard, Version 17.0
Clause : §2 General Architecture
RFC 3629: UTF-8, a transformation format of ISO 10646
Clause : §1 Introduction