11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je suis en train de developper un site ou toute la mise à jour et la consultation du contenu (stocké dans une base de données mysql) se fait via ajax.

Mon problème se situe au niveau des caractères spéciaux (éàè...Etc...)

En effet, je met à jour un contenu sous firefox, cela ne pose pas de probleme. La consultation sous firefox et IE marche parfaitement et dans ma base mysql définie en utf8_general_ci un é s'affiche en é

Je met à jour par internet explorer et là c'est la cata mes accents se transforment en "????" que je consulte sous IE ou Firefox et dans la base mysql le é s'affiche bien en é...

J'ai définit toutes mes pages en UTF 8 :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

et ma methode est en get :
cur.open("GET", URL);


Du coup, je comprend rien, j'ai essayé plein de truc lors de la mise a jour... remplacer les accents par les caratères html (é > &eacute;) sous firefox il le fait bien mais pas sous ie (il détecte meme pas le é)... j'ai testé les html_entity_decode, ut8_encode, decode... etc...

si vous avez une idée, je suis vraiment preneur.

Merci d'avance.
Modifié par JFK99 (29 May 2006 - 16:28)
As-tu essayé d'envoyer une indication d'encodage dans l'en-tête HTTP ? Des fois ça peut faire des miracles.
Salut,

merci pour vos suggestion, j'ai essayé le htmlentities marche pas.

Tu envois l'indication d'encodage comment ?
Re,

bon en fait htmlentities marche ! mais si spécifie l'encodage utf8 ca fontctionne que sous ff et si je spécifie rien du tout ca fonctionne que sous ie...
Bon ca marche avec cette fonction, merci à tous ceux qui m'ont aidé.

function JsToDb($msg)
{
	$msg = addslashes($msg);
	$msg = htmlentities($msg);
	$msg = str_replace("&Atilde;&copy;", "&eacute;", $msg);
	$msg = str_replace("&Atilde;&uml;", "&egrave;", $msg);
	$msg = str_replace("&Atilde;&ordf;", "&ecirc;", $msg);
	$msg = str_replace("&Atilde;&laquo;", "&euml;", $msg);
	$msg = str_replace("&Atilde;&nbsp;", "&agrave;", $msg);
	$msg = str_replace("&Atilde;&curren;", "&auml;", $msg);
	$msg = str_replace("&Atilde;&cent;", "&acirc;", $msg);
	$msg = str_replace("&Atilde;&sup1;", "&ugrave;", $msg);
	$msg = str_replace("&Atilde;&raquo;", "&ucirc;", $msg);
	$msg = str_replace("&Atilde;&frac14;", "&uuml;", $msg);
	$msg = str_replace("&Atilde;&acute;", "&ocirc;", $msg);
	$msg = str_replace("&Atilde;&para;", "&ouml;", $msg);
	$msg = str_replace("&Atilde;&reg;", "&icirc;", $msg);
	$msg = str_replace("&Atilde;&macr;", "&iuml;", $msg);
	$msg = str_replace("&Atilde;&sect;", "&ccedil;", $msg);
	$msg = str_replace("&amp;", "&amp;", $msg);
	return $msg;
}

Modifié par JFK99 (29 May 2006 - 12:08)