Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1542 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  accents php/sql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

accents php/sql

n°1880738
azkatari
Posté le 04-05-2009 à 18:16:31  profilanswer
 

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

mood
Publicité
Posté le 04-05-2009 à 18:16:31  profilanswer
 

n°1882730
theredled
● REC
Posté le 10-05-2009 à 20:53:23  profilanswer
 

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 ?


Message édité par theredled le 10-05-2009 à 20:54:26

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1882876
azkatari
Posté le 11-05-2009 à 10:58:43  profilanswer
 

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

n°1883087
theredled
● REC
Posté le 11-05-2009 à 14:38:15  profilanswer
 

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.


Message édité par theredled le 11-05-2009 à 14:38:32

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1883103
skeye
Posté le 11-05-2009 à 15:00:28  profilanswer
 

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..:D


---------------
Can't buy what I want because it's free -
n°1883105
theredled
● REC
Posté le 11-05-2009 à 15:03:50  profilanswer
 

Hmm j'osais espérer qu'il avait bien c/c la source et non l'affichage mais effectivement c'est crédible :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1883589
azkatari
Posté le 12-05-2009 à 10:26:41  profilanswer
 

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 :
  1. if(!$sql->query('INSERT INTO `crm_billets` (cid,usercode,objet,statut,visible,date_creation,date_maj) VALUES("'.$cid.'","'.$code.'","'.$objet.'","2","1","'.date('Y-m-d H:i:s').'","'.date('Y-m-d H:i:s').'" )'))
  2. $erreur = ERR_SQL;


 
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é?

n°1883594
theredled
● REC
Posté le 12-05-2009 à 10:34:42  profilanswer
 

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 :D

 

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 :o


Message édité par theredled le 12-05-2009 à 10:40:37

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  accents php/sql

 

Sujets relatifs
[JAVA] FTPFile et accentsRequête Mysql sans tenir compte des accents
[MYSQL JDBC] et des problèmes d'accents à devenir dingue !!Accents OK sur IE mais pas sur Firefox
Accents - Bogue étrange en Pythonprobléme accents dans une base POSTGRE à partir d'un prog JAVA
Encodage et accentspb affichage photo et beugue accents
Problème accents dans URL (UTF8)Problème d'accents après copie d'une base [résolu]
Plus de sujets relatifs à : accents php/sql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR