Page 1 sur 1
insert texte et accent
Posté : 07 juil. 2010, 22:03
par nini
Bonjour,
j'ai un souci sans doute simple avec l'insertion dans ma BDD des caractères avec accents.
pour é j'obtiens
le code
Code : Tout sélectionner
mysql_query("INSERT INTO photo (photo,titre,texte,date) VALUES ('".$image."','".addslashes($titre)."','".$texte."','".date("Y-m-d")."')");merci pour l'aide
Re: insert texte et accent
Posté : 07 juil. 2010, 22:27
par stealth35
Bonsoir,
tu trouveras sans doute la réponse ici :
faq-tutoriels/encodage-utf-t245062.html

Re: insert texte et accent
Posté : 07 juil. 2010, 22:44
par nini
J'ai cru comprendre que c'est un soucis avec SQL 5 que je teste pour la première fois.
Code : Tout sélectionner
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
dans INSERT
htmlspecialchars($_POST['texte'])
et la BDD utf8_general_ci
mais c'est pas mieux...
Re: insert texte et accent
Posté : 07 juil. 2010, 22:53
par stealth35
tu dois pas faire htmlspecialchars au moment de l'insert mais au moment de l'affichage
vérifie aussi l'encodage de ton fichier et de ton serveur
regarde aussi dans phpmyadmin si les valeurs sont corrects
Re: insert texte et accent
Posté : 07 juil. 2010, 23:02
par nini
Il me semble ne pas me tromper
Code : Tout sélectionner
BDD texte longtext utf8_general_ci
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
mysql_query("INSERT INTO photo (photo,titre,texte,date) VALUES ('".$image."','".addslashes($titre)."','".htmlspecialchars($_POST['texte'])."','".date("Y-m-d")."')");
obliger de prendre UTF-8 et pas 'ISO-8859-1 ?
merci encore pour l'aide
Re: insert texte et accent
Posté : 07 juil. 2010, 23:08
par stealth35
faut pas faire htmlspecialchars

par contre faut faire
mysql_real_escape_string sur les valeurs
Re: insert texte et accent
Posté : 07 juil. 2010, 23:35
par nini
cela passe tjrs pas...
Code : Tout sélectionner
$texte=mysql_real_escape_string($texte);
mysql_query("INSERT INTO photo (photo,titre,texte,date) VALUES ('".$image."','".addslashes($titre)."','".$texte."','".date("Y-m-d")."')");
Re: insert texte et accent
Posté : 07 juil. 2010, 23:38
par stealth35
comment sont les données dans ta base maintenant (via phpmyadmin) ?
Re: insert texte et accent
Posté : 07 juil. 2010, 23:45
par nini
le é est tjrs
ma BDD utf8_general_ci
mon Head
Code : Tout sélectionner
header ('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Re: insert texte et accent
Posté : 07 juil. 2010, 23:49
par stealth35
même dans phpmyadmin ?
ton apache est bien en UTF-8, l'encodage de ton fichier aussi (je parle pas des header)
ta connexion mysql se fais bien en UTF8 aussi ?
Re: insert texte et accent
Posté : 07 juil. 2010, 23:55
par nini
ma variable n'est pas encodé juste
Code : Tout sélectionner
@mysql_connect($hostname_dbprotect, $username_dbprotect, $password_dbprotect) or die("Connection au serveur impossible !");
@mysql_select_db($database_dbprotect);
Re: insert texte et accent
Posté : 08 juil. 2010, 00:16
par nini
j'ai résolu l'insert avec
Code : Tout sélectionner
$texte=utf8_decode($texte);
$texte=mysql_real_escape_string($texte);
Si quelqu'un pouvait me donner une explication ???????????????
Re: insert texte et accent
Posté : 08 juil. 2010, 00:22
par stealth35
j'ai résolu l'insert avec
Code : Tout sélectionner
$texte=utf8_decode($texte);
$texte=mysql_real_escape_string($texte);
Si quelqu'un pouvait me donner une explication ???????????????
tout est dans le tuto,
suffis de répondre au question que je t'ai posé
ton apache est bien en UTF-8 ?, l'encodage de ton fichier aussi ?(je parle pas des header)
ta connexion mysql se fais bien en UTF8 aussi ?
Re: insert texte et accent
Posté : 08 juil. 2010, 00:24
par nini
Merci pour tout