accents php/sql - PHP - Programmation
Marsh Posté le 10-05-2009 à 20:53:23
Je ne vois pas le rapport avec les fonctions html*() ...
Et plutôt que de chercher la fonction magique, le mieux serait de cerner le problème.
Comment est encodée la page de ton formulaire ? en utf-8 ou en iso-machintruc ?
Marsh Posté le 11-05-2009 à 10:58:43
moi non plus je vois pas le rapport, mais j'ai un peu tout essayé ce qui me passait par la tete avant de venir poster ici
les pages sont en charset=ISO-8859-1, et les champs de la base en latin1_swedish_ci
Marsh Posté le 11-05-2009 à 14:38:15
Au niveau du serveur tu dois avoir d'autres options : "Jeu de caractères pour MySQL, Interclassement pour la connexion MySQL" dans phpmyadmin
Voit si tu n'as pas de l'utf-8 là-dedans.
Marsh Posté le 11-05-2009 à 15:00:28
si tu fais un htmlentities dans ta requête c'est normal que ça marche pas mais qu'en affichant la requête dans ton navigateur tu obtiennes un résultat correct..
Marsh Posté le 11-05-2009 à 15:03:50
Hmm j'osais espérer qu'il avait bien c/c la source et non l'affichage mais effectivement c'est crédible
Marsh Posté le 12-05-2009 à 10:26:41
non non, j'ai pas d'htmlentities dans ma requete ... j'ia juste dit avoir testé 100 trucs histoire de voir si ca marchait
j'ai juste un bete champ input text, ou je mets par exemple testé.
Un insert sql
Code :
|
je viens de changer l'interclassement du champ objet a utf8_swedish_ci. Quand je vais dans phpmyadmin, ca me le sauve comme ca: testé. Y'a pas moyen de le sauver betement en testé?
Marsh Posté le 12-05-2009 à 10:34:42
En fait il faut que tu aies le même encodage tout le long de la chaîne : la page, la discussion avec la BDD, la BDD.
Donc rajouter un étage d'UTF-8 quand tout le reste est en ISO n'est pas forcément la meilleure solution
Ou alors tu passes tout en utf-8 (ce que je te conseille à la limite)
ps : Sinon fait gaffe dans ta requete, tu n'échappe pas tes variables, tu risques d'être sensible aux injections SQL (et que ça merde au moindre guillemet). A moins que tu aies activé les magic_quotes, ce qui est une mauvaise solution
Marsh Posté le 04-05-2009 à 18:16:31
Salut,
j'ai un souci avec une requete select en php:
une table sql qui stocke le nom du client, et parfois ce nom comprend des accents!
un script de recherche multi criteres en php: lorsque l'utilisateur rentre le nom du client, et que celui ci comprend un accent, le php ne le trouve pas.
Par contre, quand je fais un echo de la requete exacte et que je l'execute dans phpmyadmin, la ligne du client est trouvée.
J'ai essayé pleins de fonctions, notamment trouvé dans les topics ici relatifs a des sujets avoisinants... htmlentities, html_entity_decode, htmlspecialchars, enfin tout bien varié, et j'ai pas encore trouvé la bonne. Est ce que ça existe, et sinon comment faire? Je précise que le champ nom dans la table sql a été créé avec l'interclassement latin_swedish