Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/03/2011, 14h27   #1
Invité régulier
 
Inscription : décembre 2009
Messages : 20
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 20
Points : 5
Points : 5
Par défaut Accent et SQL

Bonjour,

Je sais qu'il y a plein de personne qui ont demandé le même genre de chose que moi, mais je n'ai pas trouvé la solution à mon problème.

En gros j'ai une page index.php

J'utilise notepad, (encodage en utf8-sansBOM).

Dans mon header, voilà ce que j'ai mis :
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">


dans cette page, j'inclue une autre : <?php include('events.php'); ?></div>

c'est dans events.php que j'ai mes formulaires.
Lorsque j'envoie le formulaire, au lieu d'avoir un 'é' j'ai : é

Avant d'effectuer la requete, si j'utilise : htmlspecialchars();, ça ne change rien.

Si j'utilise htmlentities();, cette fois ça change mais j'ai en fait : &Atilde;&copy;

Je pense donc que le problème vient de la source avant même le fait d'utiliser ces fonctions php.

J'espère que j'ai bien décris mon erreur.

Merci d'avance !
bastouneco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 14h35   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
http://php.developpez.com/faq/?page=mysql#mysql-utf-8
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 15h10   #3
Invité régulier
 
Inscription : décembre 2009
Messages : 20
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 20
Points : 5
Points : 5


J'avais en effet oublié :
Code :
mysql_query("SET NAMES 'utf8'");
Merci à vous.
bastouneco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 15h21   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par bastouneco Voir le message


J'avais en effet oublié :
Code :
mysql_query("SET NAMES 'utf8'");
Merci à vous.
c'est mysql_set_charset
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 15h28   #5
Invité régulier
 
Inscription : décembre 2009
Messages : 20
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 20
Points : 5
Points : 5
En effet, d'apres php.net :

En parlant de mysql_set_charset() :
Citation:
Cette fonction est la meilleure façon de modifier le jeu de caractères. Il n'est pas recommandé d'utiliser la fonction mysql_query() avec une requête du type SET NAMES .. pour cela.
Quelle est le problème avec la méthode du SET NAMES ?
bastouneco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 15h37   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
avec cette fonction le charset est enregistré dans le link, donc par exemple mysql_real_escape_string prendra en compte le charset
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h16.


 
 
 
 
Partenaires

Hébergement Web