Dépannage

Accents illisibles ou sous-titres absents dans VLC : les solutions

Si VLC affiche « é » à la place de « é », votre fichier SRT est en UTF-8 mais lu comme du Windows-1252 ; si vous voyez des losanges « � », c'est l'inverse. Dans les deux cas, on corrige l'encodage du fichier ou le réglage de VLC. Si les sous-titres n'apparaissent pas du tout, le problème vient presque toujours du nom ou de l'emplacement du fichier.

8 min de lecture · Mis à jour

À noter : l'interface de mydubly est en anglais. La transcription d'un audio en français, la traduction vers le français et la voix française fonctionnent ; seuls les boutons sont libellés en anglais.

Reconnaître le symptôme en dix secondes

Avant de toucher au moindre réglage, regardez précisément ce qui s'affiche. Chaque symptôme pointe vers une cause différente.

« é », « è », « ’ »
fichier en UTF-8 lu comme du Windows-1252 (ou ISO-8859-1)
Losanges « � » ou points d'interrogation
fichier en Windows-1252 lu comme de l'UTF-8
«  » avant la toute première ligne
marque d'ordre des octets (BOM) d'un fichier UTF-8 mal interprétée
Aucun sous-titre
fichier non chargé, piste désactivée ou structure SRT cassée
Sous-titres décalés
problème de minutage, pas d'encodage

Les accents français sont les premiers touchés, parce que é, è, à, ç, ê, œ et l'apostrophe typographique ’ sont codés différemment selon l'encodage. Un fichier en anglais pur passe souvent inaperçu, alors qu'un sous-titre français devient illisible dès la première ligne.

Pourquoi « é » devient « é » : UTF-8 contre Windows-1252

Un fichier texte n'est qu'une suite d'octets. L'encodage dit au logiciel comment les transformer en lettres. Deux encodages cohabitent sur les ordinateurs francophones :

  • Windows-1252 (souvent appelé « ANSI » sous Windows, proche de l'ISO-8859-1 ou Latin-1) : un octet par caractère, ancien standard de Windows en Europe occidentale. Beaucoup de vieux fichiers SRT trouvés en ligne ou produits par d'anciens logiciels sont dans cet encodage.
  • UTF-8 : l'encodage universel actuel. Les lettres sans accent prennent un octet, les lettres accentuées en prennent deux ou plus.

La lettre « é » s'écrit en UTF-8 avec deux octets. Si VLC croit lire du Windows-1252, il affiche ces deux octets comme deux caractères distincts : « à » et « © ». D'où le fameux « é ». À l'inverse, un « é » enregistré en Windows-1252 n'est qu'un octet qui n'a pas de sens isolé en UTF-8 : VLC le remplace par un losange.

Diagnostic d'un bloc abîmé

12 / 00:01:04,300 --> 00:01:07,900 / « Ça dépend de l’équipe, mais on en reparlera à la réunion. » — Le texte attendu était : « Ça dépend de l'équipe, mais on en reparlera à la réunion. » Tous les accents sont doublés : fichier UTF-8 lu comme du Windows-1252.

Régler l'encodage dans VLC

VLC détecte l'encodage la plupart du temps, mais il peut se tromper sur un fichier sans indication explicite. Pour forcer le bon choix :

  1. Ouvrez Outils puis Préférences (sur Mac : VLC puis Réglages ou Préférences).
  2. Allez dans la section Sous-titres / OSD.
  3. Dans « Encodage du texte par défaut », choisissez « Universel (UTF-8) » si vous voyez des « é », ou « Europe occidentale (Windows-1252) » si vous voyez des losanges.
  4. Enregistrez, fermez complètement VLC et rouvrez la vidéo : le réglage n'est pas toujours appliqué à un fichier déjà ouvert.

Les intitulés exacts varient légèrement selon la version et le système, mais l'option porte toujours sur l'encodage des sous-titres. Inconvénient : ce réglage est global. Si vous alternez entre vieux fichiers en Windows-1252 et fichiers récents en UTF-8, mieux vaut corriger les fichiers eux-mêmes.

Réenregistrer le fichier dans le bon encodage

C'est la solution durable, parce qu'elle fonctionne ensuite dans tous les lecteurs. Faites d'abord une copie du fichier.

  • Bloc-notes (Windows 10 et 11) : ouvrez le SRT ; si les accents s'y affichent correctement, faites Fichier, Enregistrer sous, et choisissez « UTF-8 » ou « UTF-8 avec BOM » dans la liste Encodage, en bas de la fenêtre.
  • Notepad++ : le menu Encodage indique l'encodage détecté ; « Convertir en UTF-8 » transforme le fichier sans abîmer les accents.
  • TextEdit (Mac) : vérifiez que le document est en texte brut (Format, Convertir au format texte), puis choisissez l'encodage UTF-8 à l'enregistrement. Attention à ne pas l'enregistrer en RTF ni à laisser macOS ajouter « .txt » à la fin du nom.
  • Subtitle Edit : à l'enregistrement, l'encodage se choisit dans les options ; UTF-8 est le choix sûr.

Le principe : un éditeur doit afficher correctement les accents avant que vous réenregistriez. Si l'éditeur lui-même affiche « é », passez à la section suivante.

Quand le fichier lui-même est abîmé

Il arrive que les « é » soient réellement écrits dans le fichier : quelqu'un l'a ouvert avec le mauvais encodage, n'a rien remarqué et l'a réenregistré. Changer le réglage de VLC n'y fera plus rien. Deux options :

  • Rechercher et remplacer dans l'éditeur, en commençant par les séquences les plus fréquentes en français : « é » par « é », « è » par « è », « ê » par « ê », « ç » par « ç », « ô » par « ô », « î » par « î », « ù » par « ù », « ’ » par l'apostrophe, « Å“ » par « œ ». Le « à » corrompu apparaît souvent comme un « à » suivi d'une espace : traitez-le en dernier, en vérifiant chaque occurrence.
  • Régénérer le fichier depuis la source, si vous en avez les moyens : c'est souvent plus rapide qu'une longue série de remplacements sur un film entier.

Le guide en anglais sur les sous-titres qui affichent des caractères étranges (en anglais) couvre aussi les cas des autres langues (cyrillique, arabe, chinois).

Les sous-titres n'apparaissent pas du tout

Si rien ne s'affiche, l'encodage n'est probablement pas en cause. Vérifiez dans cet ordre :

  1. Le nom : placez le SRT dans le même dossier que la vidéo, avec exactement le même nom de base (conference-mars.mp4 et conference-mars.srt). VLC charge alors le fichier automatiquement.
  2. L'extension réelle : sous Windows et macOS, les extensions masquées cachent parfois un « conference-mars.srt.txt ». Affichez les extensions pour vérifier.
  3. La piste : dans le menu Sous-titres de VLC, vérifiez qu'une piste est sélectionnée, ou ajoutez le fichier à la main avec « Ajouter un fichier de sous-titres ».
  4. La structure : un numéro, une ligne de minutage au format 00:01:04,300 --> 00:01:07,900 (virgule avant les millisecondes, flèche à deux tirets), le texte, puis une ligne vide. Un bloc mal formé peut empêcher la lecture de la suite.
  5. Le décalage : si le premier sous-titre apparaît à 01:00:00 parce que le fichier vient d'un montage avec un minutage de départ particulier, tout semblera absent. Le réglage de synchronisation des sous-titres de VLC permet de décaler l'affichage pour tester.

D'autres causes sont passées en revue dans l'article fichier SRT qui ne fonctionne pas (en anglais).

Les fichiers SRT générés par mydubly

Si vous générez vos sous-titres avec le générateur de sous-titres de mydubly (en anglais), le fichier subtitles.srt est encodé en UTF-8 avec BOM. Cette marque en début de fichier indique explicitement l'encodage, ce qui permet à VLC et à la plupart des lecteurs récents d'afficher correctement les accents sans réglage. Chaque segment de parole y forme un bloc d'une seule ligne.

Deux situations peuvent malgré tout poser problème. D'abord, si vous modifiez le fichier dans un éditeur qui le réenregistre en Windows-1252, vous retombez dans les cas décrits plus haut : gardez l'UTF-8 à l'enregistrement. Ensuite, certains outils anciens ne reconnaissent pas la BOM et affichent «  » devant le premier sous-titre ; réenregistrez alors en « UTF-8 » sans BOM.

mydubly ne corrige pas les fichiers SRT existants et n'en importe pas : il crée les sous-titres à partir de l'audio de votre vidéo. Si vous partez d'un vieux SRT abîmé, la correction se fait dans un éditeur. Si vous avez la vidéo d'origine, en régénérer un coûte 1 crédit par minute entamée (5 crédits minimum par fichier). Pour la méthode complète, de la génération à l'import sur YouTube, voyez notre guide pour sous-titrer une vidéo.

Exemple de régénération

Un documentaire associatif de 52 minutes dont le SRT est truffé de « é » : 52 crédits au tarif transcription pour obtenir un nouveau fichier en UTF-8, puis une relecture des noms propres. À comparer avec le temps d'une série de remplacements manuels sur plusieurs centaines de blocs.

Téléviseurs, box et clés USB

Les téléviseurs connectés et certaines box lisent les sous-titres depuis une clé USB avec leurs propres règles. Certains modèles anciens attendent du Windows-1252 et affichent « é » avec un fichier UTF-8 ; d'autres font l'inverse. Si le fichier s'affiche bien dans VLC mais pas sur la télévision, gardez deux copies : une en UTF-8 pour l'ordinateur, une en Windows-1252 (« ANSI » dans le Bloc-notes) pour le téléviseur, avec le même nom que la vidéo. Le Windows-1252 ne connaît que les caractères d'Europe occidentale : un émoji ou une lettre d'une autre langue y devient un point d'interrogation, vérifiez donc le résultat à l'écran.

Pour tout ce qui concerne la mise en forme des sous-titres eux-mêmes, consultez aussi notre page en français, qui regroupe les guides sur la transcription et le sous-titrage.

Questions fréquentes

Pourquoi VLC affiche-t-il « é » à la place des accents ?

Votre fichier SRT est en UTF-8, mais VLC l'interprète comme du Windows-1252. Chaque lettre accentuée, codée sur deux octets, s'affiche alors comme deux caractères. Choisissez « Universel (UTF-8) » dans les préférences de sous-titres de VLC, ou réenregistrez le fichier en UTF-8 avec BOM.

Comment savoir dans quel encodage est mon fichier SRT ?

Ouvrez-le dans Notepad++ : l'encodage détecté s'affiche dans le menu Encodage et dans la barre d'état. Le Bloc-notes de Windows l'indique aussi en bas à droite. Sur Mac, Subtitle Edit ou un éditeur de code donnent la même information.

Faut-il choisir UTF-8 avec ou sans BOM ?

Pour VLC et les lecteurs récents, UTF-8 avec BOM est le choix le plus sûr, car la marque annonce clairement l'encodage. Certains outils anciens affichent la BOM sous la forme «  » au début du premier sous-titre ; dans ce cas seulement, enregistrez en UTF-8 sans BOM.

VLC ne charge pas mon fichier SRT, que faire ?

Placez le SRT dans le même dossier que la vidéo, avec le même nom de base, et vérifiez qu'il ne s'appelle pas en réalité « .srt.txt ». Sinon, ajoutez-le à la main par le menu Sous-titres. Contrôlez aussi que la première ligne de minutage respecte le format avec une virgule avant les millisecondes.

Les SRT de mydubly ont-ils des problèmes d'accents ?

Ils sont enregistrés en UTF-8 avec BOM, ce qui permet à VLC d'afficher correctement les accents français. Un problème apparaît en général après une modification dans un éditeur qui a changé l'encodage à l'enregistrement, ou sur un appareil ancien qui ne reconnaît pas la BOM.

Mon téléviseur affiche des caractères bizarres alors que VLC est correct, pourquoi ?

Certains téléviseurs et box attendent un encodage particulier, souvent Windows-1252 sur les modèles anciens. Faites une copie du fichier enregistrée en « ANSI » dans le Bloc-notes, donnez-lui le même nom que la vidéo et testez sur la clé USB.