Base MySQL et caractères spéciaux
Résolu/Fermé
fab1105
Messages postés
114
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
17 juin 2010
-
27 août 2009 à 13:47
fab1105 Messages postés 114 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 17 juin 2010 - 27 août 2009 à 15:01
fab1105 Messages postés 114 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 17 juin 2010 - 27 août 2009 à 15:01
A voir également:
- Mysql caractères spéciaux utf8
- Caractères spéciaux symboles clavier - Guide
- Caractere speciaux - Guide
- Caractère spéciaux mac clavier - Guide
- 667 caractère spéciaux ✓ - Forum MSN / WLM
- Caractères ascii - Guide
8 réponses
Je l'ai trouvée il y a quelques semaines dans le manuel SQL en lisant le chapitre sur le codage des caractères parce que j'avais le même problème que toi.
Disons que même si tu déclares une table en utf8, mysql considère que les données que tu lui envoies sont en iso-machin-truc. Quand tu envoies une donnée vers une table utf8, il traduit donc d'iso-machin-truc en utf8 pour enregistrer dans ta table. Quand tu as saisi un é dans une page en UTF8, ce sont donc deux codes (C3 A9) qui sont envoyés à la base.
La base croit qu'il s'agit de deux caractères iso C3 et A9. Ces caractères correspondent (en iso) à Ã et ©. C'est ce que te montre PHPmyAdmin
SET NAMES UTF8 sert à dire à mysql que les données qu'on lui envoie (et celles qu'il doit nous renvoyer) sont en uft8. Dans ce cas, quand il reçoit C3 suivi de A9 c'est bien un seul et même caractère é.
Disons que même si tu déclares une table en utf8, mysql considère que les données que tu lui envoies sont en iso-machin-truc. Quand tu envoies une donnée vers une table utf8, il traduit donc d'iso-machin-truc en utf8 pour enregistrer dans ta table. Quand tu as saisi un é dans une page en UTF8, ce sont donc deux codes (C3 A9) qui sont envoyés à la base.
La base croit qu'il s'agit de deux caractères iso C3 et A9. Ces caractères correspondent (en iso) à Ã et ©. C'est ce que te montre PHPmyAdmin
SET NAMES UTF8 sert à dire à mysql que les données qu'on lui envoie (et celles qu'il doit nous renvoyer) sont en uft8. Dans ce cas, quand il reçoit C3 suivi de A9 c'est bien un seul et même caractère é.