Caractère accentué entre php et mysql

Résolu/Fermé
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 19 juin 2009 à 17:57
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 22 juin 2009 à 20:46
Bonjour a tous,

Voila ce n'est pas un gros problème mais c'est embetant quand meme et je ne sais pas comment le résoudre.

Voila quand j'écris dans mon navigateur web les caractères accentués ne sont pas normal mais comme ca :

é = é

par exemple

pour vez vous m'aider svp?

Merci d'avance
A voir également:

20 réponses

LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
19 juin 2009 à 20:03
Salut ;

Ta BDD (Base De Donnée) ne connais pas les caractères spéciaux !
C'est afficher comme ça dans tes tables ?
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 juin 2009 à 20:15
oui effectivement c'est affiché comme ca dans les champs de mes tables comment faire pour résoudre le problème svp?

C'est mysql la bdd
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
19 juin 2009 à 22:20
Comme je le disais plus haut,

Ta BDD (en SQL) ne connait pas les caractères spéciaux !
Enfin c'est pas qu'elle ne les connais, mais elle les utilises déjà pour sa sécurité.

Exemple :
- Tu récupère un information d'un formulaire : $_POST['user']
On met, pour le rendre plus compréhensible par le suite : $user = $_POST['user'];
Et ensuite tu envoi dans ta BDD : '$user'.
- Et ba laaaaaaa, un petit voyou passe sur ton site et te pique toute ta BDD.
- Méthodes : Injections SQL, Balise Html de récupération, etc.
- Donc pour éviter ça, tu fait : $user = mysql_real_escape_string(htmlspecialchars($_POST['user']));
- Si ton User inscrit <em>/Mr"Use'rs<em> : dans ta BBD ça sera écrit : <em>/Mr"Use'rs<em>

C'est un exemple parmi tant d'autres.
PS : (<em>/Mr"Use'rs<em>) n'est ni une Injection ou un Html de récupération.
PS 2 : htmlspecialchars n'es pas vraiment utile, cette fonction va bloqué le HTML. Mais l'autre est très importante ! Crois moi =P

Voila, à bon entendeur.
Bonne chance pour la suite.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
20 juin 2009 à 00:17
salut,

explique-nous davantage le problème.

quel est l'encodage de caractères de ta BDD et qu'est-ce que tu utilises pour la renseigner.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
20 juin 2009 à 00:57
Alors je précise que mon appli (enfin "site") ne sera que local donc pas de problème d'injection sql etc....

bref pour répondre maintenant a dalida quand je rentre par exemple un résumé de film dans ma bdd donc ca

Cet épisode se déroule 6 mois après la fin de la saison 2. La vie des protagonistes n'a pas connu de changements majeurs durant cette période. Susan reste au chevet de Mike, dans le coma après son accident. Bree vit le parfait amour avec Orson Hodge (l'homme qui l'a aidée à s'échapper de l'hôpital psychiatrique). Lynette essaie de sauver sa famille de Nora, mère du premier enfant de Tom. Gabrielle s'occupe seule de Xiao-Mei (la mère porteuse de son enfant). Et enfin Edie tente désespérément de vendre l'ancienne maison de Paul Young

voila comment ca se rentre dans ma bdd

Cet épisode se déroule 6 mois après la fin de la saison 2. La vie des protagonistes n'a pas connu de changements majeurs durant cette période. Susan reste au chevet de Mike, dans le coma après son accident. Bree vit le parfait amour avec Orson Hodge (l'homme qui l'a aidée à s'échapper de l'hôpital psychiatrique). Lynette essaie de sauver sa famille de Nora, mère du premier enfant de Tom. Gabrielle s'occupe seule de Xiao-Mei (la mère porteuse de son enfant). Et enfin Edie tente désespérément de vendre l'ancienne maison de Paul Young

donc c'est un gros problème car quand je fais une requete portant sur le résumé ca me le ressort tel qu'il est dans la base normal lol

donc pour répondre à la question : quel est l'encodage de caractères de ta BDD?

Je ne sais pas trop comment savoir en fait
je pense que c'est ca :

Interclassement pour la connexion MySQL: utf8_general_ci

et à la question : qu'est-ce que tu utilises pour la renseigner

je rentre les infos grace au langage php / html

voila en espérant avoir répondu correctement au question aidez moi svp

merci d'avance
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
20 juin 2009 à 10:34
salut,

je rentre les infos grace au langage php / html
et ta page HTML qui contient le formulaire, tu lui as bien défini l'encodage de caractère ?
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
20 juin 2009 à 17:05
de cette manière?
<html>
<head>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
...
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
20 juin 2009 à 19:36
oula, je t'ai oublié !
-:o(

bon ben on va essayé de vérifié étape par étape.
qu'en penses-tu ?

en premier, peux-tu faire un var_dump($_POST); en haut de ton script qui traite l'envoi du formulaire, stp.

histoire de voir si PHP reçoit les caractères correctement.
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
20 juin 2009 à 19:48
c'est bien ca?

array(16) { ["Type"]=> string(4) "Type" ["titre"]=> string(0) "" ["titreSaison"]=> string(0) "" ["titreEpisode"]=> string(0) "" ["NomSerie"]=> string(8) "NomSerie" ["NomSaison"]=> string(9) "NomSaison" ["genre"]=> string(5) "genre" ["Categorie"]=> string(10) "Catégorie" ["jaquette"]=> string(0) "" ["jaquetteSaison"]=> string(0) "" ["resume"]=> string(0) "" ["acteur"]=> string(0) "" ["realisateur"]=> string(0) "" ["lien"]=> string(0) "" ["x"]=> string(3) "118" ["y"]=> string(3) "107" } L'insertion des données s'est mal déroulé
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
20 juin 2009 à 22:14
up
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
20 juin 2009 à 23:14
oui c'est bien ça.

["Categorie"]=> string(10) "Catégorie"

donc c'est ton formulaire qui envoie avec un encodage impropre.

utilises-tu une requête Ajax (objet XMLHTTPRequest de Javascript) ?
si oui, tu peux t'arrêter là !

peux-tu nous dire si ton serveur renvoie une en-tête "Content-Type", si oui laquelle ?
(si tu ne vois pas de quoi je parle et que tu as une version en ligne, vas sur cette page, remplis le champ avec l'URL de ton site et dans le résultat, regarde la valeur associée à "Content-Type").

quel est l'encodage de tes fichiers sources (je parle de l'encodage du fichier lui-même pas de celui du document HTML ?
pour ça, regarde dans PSPad tu dois avoir ça dans un menu du genre "Affichage/Encodage de caractères".

pour le moment je ne pense qu'à ça.
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 juin 2009 à 12:11
alors pour le content type je peux te dire que ca puisque mon site ne sera pas en ligne c'est juste un intranet


donc regarde :

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />


et donc voila par contre je n'utilise pas d'ajax j'utilise une fonction javascript mais je ne pense pas que ca vienne de la c'est juste pour activer ou désactiver certain champ du formulaire par rapport a une liste.

et par contre j'ai pas compris la fin avec PSPad je ne sais pas ce que c'est!

si c'est dans le navigateur il est paramétré en occidentale.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
22 juin 2009 à 13:11
salut,

pour le Content-Type il faut celui renvoyer par le serveur pas celui du document HTML.
si tu es en local, avec Firefox et l'extension Firebug, regarde dans l'onglet "Réseau" tu y trouveras le contenu complet de la requête.
<edit>
beaucoup plus simple, je n'y pense jamais mais il suffit de faire Outils/Informations sur la page dans FF.
</edit>


pour Javascript on est bien d'accord que tu n'utilises pas l'objet XMLHTTPRequest ?

pour PsPad, pardon je me suis emmêlé les touches avec un autre fil.
je voulais parler de l'éditeur que tu utilises pour coder, par exemple Notepad++.
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 juin 2009 à 13:45
ah ok lol non j'utilise eclipse

alors pour le content voila ce que me retourne l'informations sur la page

Videothèque :

adresse URL : http://127.0.0.01/Videoth%c3%a8que/ajouter.php

type : text/html

mode de rendu : Mode de respect des standards

encodage : ISO-8859-1

taille : 1,58 Ko (1 618 octets)

URL de provenance : http://127.0.0.01/Videoth%c3%a8que/Choix.php

modifié le : lun. 22 juin 2009 13:40:51 CEST

non je n'utilise pas XMLHTTPRequest c'est sur

je voulais te dire merci pour ton aide car tu prend beaucoup de temps sur ce problème merci
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
22 juin 2009 à 14:09
j'utilise eclipse
bon alors tu ouvres ton fichier source avec, tu fais "Edit/Set encoding…" et tu vérifies que c'est bien en ISO-8859.


tu prend beaucoup de temps sur ce problème
mais je t'en prie, on est là pour ça !
-;o)
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 juin 2009 à 14:24
et voila on dirais que ca viens de la je modifie sur tout mes sourceje te tien au courant
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 juin 2009 à 14:42
Alors il semblerait que tu as réssolut une partie du problème car les données sont bien enregistrer dans la base donc ca c'est bon par contre sur ma page html de formulaire il y en a encore
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
22 juin 2009 à 15:15
sur ma page html de formulaire il y en a encore
encore ?…
-:oD
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 juin 2009 à 19:12
ah non c'est bon j'ai trouvé merci beaucoup pour ton aide.

j'ai un autre problème pourrais tu regarder stp?


http://www.commentcamarche.net/forum/affich 12959554 ouvrir une fenetre de l os par navigateur?#4
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
22 juin 2009 à 19:15
si tu peux résumer la solution, ce sera parfait !
-;o)
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 juin 2009 à 20:46
ok bah en fait je ne sais pas comment l'expliquer c'est que tout simplement mes scripts était écrit avec des Aë au lieu de é
0