Oui, je peux.
Vous n'avez pas dit au serveur Mysql quel encodage de données vous voulez.
Mysql peut fournir n'importe quel encodage au cas où l'encodage de votre page serait différent de l'encodage des données stockées. Et recodez-le à la volée.
Ainsi, il faut lui indiquer l'encodage préféré du client (votre code PHP étant ce client de base de données).
Par défaut, c'est latin1
. Ainsi, comme il n'y a pas de tels symboles dans la table de caractères latin1, des points d'interrogation sont renvoyés à la place.
Il y a 2 façons de dire à mysql quel encodage nous voulons :
- un peu plus préféré est mysqli_set_charset() fonction (méthode dans votre cas).
- le moins préféré est
SET NAMES
requête.
Mais tant que vous utilisez correctement l'extension mysqli, cela n'a pas vraiment d'importance. (même si vous ne l'êtes pas)
Notez que dans mysql cet encodage est appelé utf8
, sans tirets ni espaces.