SET NAMES 'utf8' ou SET NAMES 'latin1'
Il me semble (enfin j'en suis certain) qu'il vaut mieux s'orienter vers du mysql_real_escape_string($row[3]) lors de l'insertion et rien lors de la lecture (ou un htmlentities).zeb a dit:addslashes($row[3]) et stripslashes($data) a la lecture il me semble.
zeb a dit:Interclassement
INSERT INTO rss_item (id, id_flux, titre, lien, date, texte) VALUES ('1', '$id_du_flux', '$row[0]', '$row[1]', '$row[2]', '$row[3]')";
Leguerinos a dit:Il n'y a pas besoin d'une fonction mysql, il suffit simplement de doubler le caractère a protéger...
Ce n'est pas sûr mais certain par contre.BadProcESs a dit:Pas sûr que si tu remplace dans la chaine ' par \' elle ne soit pas stocké tel quel dans la base de données... Bref, sur ce coup, rien ne vaut un petit str_replace() AMHA.
Leguerinos a dit:Code:INSERT INTO rss_item (id, id_flux, titre, lien, date, texte) VALUES ('1', '$id_du_flux', '$row[0]', '$row[1]', '$row[2]', '$row[3]')";
Il n'y a pas besoin d'une fonction mysql, il suffit simplement de doubler le caractère a protéger...
petit-ourson a dit:Donc pour être sur que cela fonctionne partout, il faut passer par un mysql_real_escape_string().
Onthisplanet a dit:Pour la simple quote, c'est résolu.
Reste le problème de mes caractères accentués...
SET NAMES 'latin1'
biscuit a dit:Code:SET NAMES 'latin1'
après l'ouverture de chaque connexion cela va forcer les entrées/sorties avec mysql en ISO-8859-1...
$query="SET NAMES 'latin1'";
@mysql_query($query,$db);
SHOW CHARACTER SET
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHARACTER SET' at line 1
Comment est-ce que tu déclare tes fichiers, et tes flux ?
<meta http-equiv="Content-Type" content="text/html; charset=XXX" />