11548 sujets

JavaScript, DOM et API Web HTML5

Bonjours tout le monde j'ai un petit problème très ennuyeux avec jQuery et je ne trouve pas la solution grâce a notre ami Google !

Je me sert de jQuery pour pour faire un module de commentaire en Ajax sur mon site et pour cela j'utilise la fonction $.post(...); Mais le problème est que les caractères spéciaux (accents par exemple sont stockés sous la forme de "é" et donc l'exploitation des données est impossible.

Comment faire pour que les caractères spéciaux soit retranscrit normalement ?

J'ai remarqué que quand je fais un alert de mes données pendant la requête Ajax tout est normal..

Voici ma fonction en détail :

$.post("script/addComment.php",{id_vid: video, nom_com: nom, msg_com: msg},function(data){.......});


Et voici mon script AddComment.php


<?php
require('function.php');
connexion_bdd();
$id = $_POST['id_vid'];
$tab1 = array("à","ù","é","è","î","ô","â","ç","ê");
$tab2 = array("&agrave;","&ugrave;","&eacute;","&egrave;","&icirc;","&ocirc;","&acirc;","&ccedil;","&ecirc;");
$nom = addslashes(str_replace($tab1,$tab2,$_POST['nom_com']));
$commentaire = nl2br(addslashes(str_replace($tab1,$tab2,$_POST['msg_com'])));

connexion_bdd();
$sql = "INSERT INTO comment VALUES ('',NOW(),'$nom','','$commentaire',0,$id)";
if(!mysql_query($sql))
{
	//ERREUR
	echo 0;
}
else
{
	//OK
	echo 1;
}
mysql_close();
?>


Sachant que $tab1 et $tab2 étaient un essai de correction qui n'a pas fonctionné...