8721 sujets

Développement web côté serveur, CMS

Bonjour,

Voici mon problème : lorsque j'insère ma requête dans la base de données, tous les caractères accentués s'encodent en entités html type é par exemple.

Dans mon fichier php, j'ai ceci :
$req = "INSERT INTO u0r_content
	        (`id`, `asset_id`, `title`)
	VALUES
	(".$id.", ".$assetid.", ".$titre.")";
	
	echo "$req<br />";
	
	mysql_query($req) or die("Bug mysql : " . mysql_error(). "<br /> Requête concernée : " . $req);

l'echo me renvoie bien le message suivant : INSERT INTO u0r_content (`id`, `asset_id`, `title`) VALUES (5, 36, "Attentats à Athènes à 100 jours des Jeux")

Si je regarde dans ma base de données, j'ai ceci : Attentats &agrave; Ath&egrave;nes &agrave; 100 jours des Jeux

j'ai bien tenté mysql_ecape_string($titre) mais ça me donne une erreur Fatal error: Call to undefined function mysql_ecape_string()

Merci d'avance si vous pouvez m'aiguiller,
Mickaël
Bien sûr j'ai oublié de préciser que j'essaie d'insérer des accents dans ma base utf8. J'imagine que c'est là que ça coince...
Donne les parties de code où $id, $assetid et $titre obtiennent leurs dernières valeurs qui leurs sont attribuées.
Modifié par Apoooo (30 Apr 2013 - 16:03)
Les données sont issues d'une autre base de données depuis laquelle je veux transférer certains champs.

$query = mysql_query("SELECT id, cat, user_id, pseudo, titre, titre_seo, chapo, billet, source, xdate, xdate_modif, keywords, description, hits, photo, legende FROM a1z2e3r4t5_blogs "); //WHERE cat=5

while($tab=mysql_fetch_array($query))
 {
 $id = mysql_escape_string($tab["id"]);

 //titre de l'article
 $titre = mysql_escape_string($tab["titre"]);
 $titre = stripslashes($titre);
 $titre = str_replace("&#039;", "'", $titre);
 if ($id < 204) {
 $titre = utf8_encode($titre);
 $titre = utf8_decode($titre); }
 if ($id == 204) {
 $titre = utf8_decode($titre); }
 $titre = str_replace("’", "'", $titre);
 $titre = str_replace("–", "-", $titre);
 $titre = stripslashes($titre);
 $titre = htmlspecialchars_decode($titre, ENT_QUOTES);