Gérer l’encodage UTF-8 dans PHP, MySQL et HTML

Cet article décrit comment gérer l’encodage des caractères au format UTF-8 dans PHP, MySQL et HTML.

Prérequis

Gérer l’encodage UTF-8 dans PHP

Les fonctions mb_internal_encoding et mb_regex_encoding permettent de définir l’encodage utilisé lors de la manipulation de chaînes de caractères multi-octets.

mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');

La fonction header permet d’envoyer un en-tête HTTP précisant le type et l’encodage du contenu généré par le script PHP.

Par exemple pour une page HTML :

header('Content-Type: text/html; charset=UTF-8');

Le code source des scripts PHP doit être sauvegardé au format UTF-8.

Gérer l’encodage UTF-8 dans MySQL

La fonction mysqli_set_charset permet de définir l’encodage des caractères utilisé par le client MySQL.

$Link = mysqli_connect('host', 'login', 'password', 'database');
mysqli_set_charset($Link, 'utf8');

Les tables MySQL doivent être créées avec l’interclassement utf8_general_ci.

Gérer l’encodage UTF-8 dans HTML

La balise meta permet de préciser le type et l’encodage de la page HTML.

<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />

Le code source des pages HTML doit être sauvegardé au format UTF-8.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*