Cause racine et solutions pour le problème de caractères de sous-titres corrompus : explication des encodages GBK/Big5/UTF-8
Cet article analyse trois causes courantes de corruption de caractères de sous-titres, fournit des méthodes de correction manuelles pour VLC et PotPlayer, ainsi qu'une solution permanente par conversion vers UTF-8, qui permet de résoudre plus de 90% des problèmes de corruption de sous-titres dans les lecteurs multimédias.
Mis à jour le 2026-08-11
Principes fondamentaux de l'encodage de caractères
Lors du stockage de texte, les ordinateurs ne stockent que des données binaires en octets. L'encodage est un ensemble de règles de mappage entre les octets et des caractères spécifiques. Différents encodages correspondent à différentes tables de mappage. Si un lecteur sélectionne la mauvaise table de mappage lors de la lecture d'un sous-titre, il ne peut pas trouver les caractères corrects.
Le système d'encodage Unicode intègre la plupart des caractères écrits du monde. UTF-8 est une implémentation de stockage à longueur variable de Unicode, et c'est actuellement la norme d'encodage de texte généralisée pour l'Internet. La plupart des fichiers de sous-titres créés récemment dans le monde sont stockés par défaut avec l'encodage UTF-8.
Origines historiques des encodages régionaux
GBK est un encodage étendu chinois développé par la Chine continentale, publié en 1995. Il contient plus de 21 000 caractères chinois, et a été créé pour résoudre la capacité insuffisante de l'ancien encodage GB2312. Les sous-titres de films et séries anciens du pays étaient généralement stockés en encodage GBK.
Big5 est un encodage de chinois traditionnel couramment utilisé à Taïwan, Chine. Shift_JIS est un encodage régional japonais généralisé pour le Japon. Tous ces encodages ont été créés avant la formation de normes Internet unifiées, et ont résolu le problème selon lequel l'encodage mono-octet ne peut contenir que 256 caractères, ce qui ne permet pas de prendre en charge le jeu de caractères étendu d'Asie de l'Est.
| Type d'encodage | Région applicable | Année de publication | Capacité en caractères |
|---|---|---|---|
| GBK | Chine continentale | 1995 | Environ 21 000 caractères chinois |
| Big5 | Taïwan, Chine | 1984 | Environ 13 000 caractères chinois |
| Shift_JIS | Japon | 1982 | Inclut les kanji et kana japonais courants |
| UTF-8 | Mondial | 1993 | Couvre la plupart des caractères écrits du monde |
Formes typiques et causes des trois types de corruption de sous-titres
La première forme est des caractères carrés vides complets. Cela se produit lorsque la table de caractères de l'encodage cible ne contient pas d'entrée correspondant à l'octet actuel. Le lecteur ne peut pas afficher le caractère, et ne peut qu'afficher un carré vide comme espace réservé.
La deuxième forme est un texte entier composé de points d'interrogation corrompus. Elle est causée par une détection incorrecte des informations d'octet dans le fichier de sous-titres. Le lecteur reconnaît les caractères asiatiques multioctets comme des caractères ASCII mono-octets, et chaque caractère est remplacé par un point d'interrogation comme espace réservé.
La troisième forme est des caractères chinois corrompus comme "锟斤拷". Elle est causée par le chevauchement des tables de mappage de différents encodages. Après que le lecteur ait analysé les octets avec le mauvais encodage, il tombe par hasard sur un autre caractère chinois sans relation, ce qui génère finalement un texte corrompu totalement impossible à reconnaître.
Correction par changement manuel d'encodage dans les lecteurs multimédias
Le chemin pour changer l'encodage des sous-titres dans VLC est le suivant : cliquez sur le menu Outils en haut de l'interface de lecture, sélectionnez Préférences, cliquez sur l'option Sous-titres/OSD, sélectionnez manuellement l'encodage correspondant dans le module Encodage de texte, puis redémarrez le lecteur pour que la modification prenne effet.
Le chemin pour changer l'encodage des sous-titres dans PotPlayer est le suivant : faites un clic droit sur l'interface de lecture, sélectionnez l'option Sous-titre, trouvez l'option Encodage du sous-titre, sélectionnez l'encodage régional correspondant dans la liste déroulante. La modification prend effet immédiatement, aucun redémarrage du lecteur n'est nécessaire.
Solution permanente : conversion vers UTF-8
Le changement manuel d'encodage ne prend effet que pour une seule lecture. Après avoir changé d'appareil ou de lecteur, le problème de corruption réapparaît. Le réencodage des fichiers de sous-titres existants en UTF-8 permet de résoudre les problèmes de corruption sur tous les lecteurs prenant en charge l'encodage standard.
Vous pouvez utiliser le convertisseur d'encodage de texte d'OKfmt. Après avoir téléchargé votre fichier de sous-titres d'origine, sélectionnez l'encodage source et définissez UTF-8 comme encodage cible, vous obtiendrez un nouveau fichier de sous-titres avec un encodage généralisé. Le sous-titre converti s'affiche normalement sur tous les lecteurs multimédias courants.
Questions fréquentes
Pourquoi les sous-titres de films anciens téléchargés sont-ils toujours corrompus ?
Les sous-titres de films anciens ont été majoritairement créés autour de l'année 2000. À cette époque, il n'y avait pas de norme d'encodage unifiée sur Internet, et les créateurs nationaux utilisaient généralement l'encodage GBK pour le stockage. La plupart des lecteurs actuels détectent l'encodage UTF-8 par défaut, ce qui entraîne la corruption des caractères.
Quel encodage dois-je sélectionner pour des sous-titres en chinois traditionnel corrompus ?
Les sous-titres en chinois traditionnel créés à Taïwan, Chine utilisent généralement l'encodage Big5. Certains sous-titres en chinois traditionnel provenant de Hong Kong, Chine utilisent également l'encodage Big5. Un passage manuel vers l'encodage Big5 permettra un affichage normal.
Les sous-titres UTF-8 occupent-ils plus d'espace de stockage que l'encodage d'origine ?
Pour les sous-titres en chinois, chaque caractère chinois prend 3 octets en UTF-8, et 2 octets en GBK. Un sous-titre UTF-8 avec le même contenu sera 50% plus volumineux qu'un sous-titre GBK. Pour un seul fichier de sous-titres, cette augmentation de volume n'a aucun impact notable sur la lecture.