Éviter les erreurs d'encodage UTF-8 avec BOM en PHP

Cette vidéo aborde les erreurs classiques d'encodage lorsque les accents ne sont pas correctement affichés, notamment en lien avec le Byte Order Mark (BOM) en UTF-8.

Détails de la leçon

Description de la leçon

Dans cette leçon, nous explorons en détail une erreur courante liée à l'encodage des fichiers. Lorsque les accents ne s'affichent pas correctement, il est souvent nécessaire de vérifier si le fichier a été sauvegardé en UTF-8 sans BOM. Le BOM (Byte Order Mark) est un caractère spécial ajouté au début des fichiers dans certains encodages comme UTF-16 ou UTF-32, mais il est généralement inutile en UTF-8. Le problème avec un encodage UTF-8 avec BOM est qu'il peut provoquer des erreurs dans certains cas spécifiques, comme par exemple lors d'une redirection en PHP. L'espace insécable en début de fichier peut entraîner une erreur de type

Objectifs de cette leçon

Les objectifs de cette vidéo sont :
- Comprendre ce que sont le BOM et l'encodage UTF-8.
- Savoir comment détecter et corriger les erreurs liées à l'encodage.
- Apprendre à éviter les erreurs de redirection en PHP.

Prérequis pour cette leçon

Avoir des notions de base en PHP et comprendre les concepts d'encodage de texte et de file encoding.

Métiers concernés

Les compétences abordées dans cette vidéo sont particulièrement utiles pour les développeurs web, les administrateurs de bases de données, et les ingénieurs logiciels qui manipulent souvent des fichiers encodés en UTF-8.

Alternatives et ressources

Plutôt que d'utiliser UTF-8 avec BOM, il est recommandé de sauver les fichiers en UTF-8 sans BOM pour éviter les erreurs de redirection et d'affichage des caractères spéciaux.
Utiliser des liens logiciels comme Notepad++ ou Sublime Text pour configurer l'encodage par défaut des fichiers peut être une bonne alternative.

Questions & Réponses

Parce que l'espace insécable de largeur nulle, ajouté au début du fichier par le BOM, peut être envoyé avant le code PHP, entraînant l'erreur 'Cannot modify header information, headers already sent by...'.
On peut détecter un fichier encodé en UTF-8 avec BOM en utilisant des éditeurs de texte avancés comme Notepad++ qui indiquent la présence du BOM.
Il est recommandé d'utiliser UTF-8 sans BOM pour éviter les erreurs de redirection et d'affichage des caractères spéciaux en PHP.