Médiaforma

PHP MySQL – UTF-8 (sans BOM) – Une erreur classique

Print Friendly

Si les accents sont mal affichés dans le résultat, assurez-vous que le fichier contenant les données a été sauvegardé avec un encodage UTF-8 (sans BOM).

Remarque
BOM signifie Byte Order Mark. Un codage UTF avec BOM ajoute un espace insécable de largeur nulle (zero-width no-break space) en début de fichier. Ce caractère n’est utile que dans les encodages UTF-16 ou UTF-32. L’encodage UTF-8 standard (donc avec BOM) peut produire des erreurs dans certains cas particuliers, comme par exemple la redirection PHP :

<?php
  header("page-cible.php");
?>
<!DOCTYPE html>
<html>

L’espace insécable en début de fichier provoque une erreur de type « Cannot modify header information – headers already sent by » car ce caractère est envoyé avant le code PHP.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply