-
Encodage inputs VARCHAR
Bonjour à tous,
Mon soucis, l'encodage, je rentre par exemple un "é" dans mes input(php) je les poste dans la bdd. Il me sort soit des ??? soit des é. j'ai essayé de changer l'Interclassement de mon champs mais aucun ne marche.
Besoin d'aide !
j'ai déjà appliquer un htmlentities().
Merci d'avance.
-
Il ne faut pas utiliser htmlentities() car cela denature tes données.
Vérifie plutot que ton encodage HTML, l'encodage de ton fichier PHP proprement dit et l'encodage de Mysql sont les memes.
Au besoin utilise la requete SET NAMES pour indiquer à mysql l'encodage dans lequel tu lui envoies les données :
http://php.developpez.com/faq/?page=mysql#mysql-utf-8
-
J'ai essayé de tout mettre en latin1_swedish avec un header et un interclassement ainsi que le set name. Mais toujours même résultat en revanche j'avais fais des tests, en entrant directement les mots avec accents dans la base (à travers phpMyAdmin) les mots s'affichent correctement sur ma page. Donc je pense que déjà que le problème est divisé en deux. C'est mon code php qui envoi du texte mal encodé.
je fais toutes mes insertions en ajax.
-
Salut,
Comme dit précédemment, vérifie l'encodage de ta page (via Dreamweaver ou même notepad++ (Format / Convertir....)) qui contient le champ input mais aussi celle qui traite ce champ (ta page php). Ensuite vérifie ton charset dans l'entête de ta page HTML et enfin l'encodage de ta base de données. Soit iso... soit utf-8 mais je te conseille vivement UTF-8.
-
Oui merci à tous, ça fonctionne j'ai passé tout en utf_8, donc si j'ai bien compris le latin1 ne gère pas les accents ?!
-
C'est pas vraiment ça c'est-à-dire que toute la difficulté réside dans le fait d'encoder tout ton "système" de la même manière alors que maintenant par défaut les bases de données se créent en UTF8. Après je te conseille d'utiliser l'UTF8 car il tend à se généraliser et t'as plus à t'en faire pour l'encodage des caractères si tu traduis ton site (enfin je crois :p).
En tout cas content que ton problème soit arrangé!
N'hésite pas !