Mysql
 sql >> Base de données >  >> RDS >> Mysql

Problèmes d'insertion de la chaîne utf-8 dans la base de données, puis de sa sortie sur la page Web

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.