Les données doivent être correctement encodées lorsqu'elles sont écrites dans la base de données MySQL. Elle doivent également être bien décodées lors de la lecture.
Pour vous assurer que tout soit correct :
CREATE TABLE ... (
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Avant la lecture ou l’écriture des données dans une table par programmation, il faut exécuter la commande $mysqli->set_charset(). Il est possible de le faire directement lors de la connexion à la base données.
$mysqli = new mysqli("localhost", "root", "", "mabd");
...
$mysqli->set_charset("utf8");
▼Publicité