amateurjava
Messages postés88Date d'inscriptionvendredi 8 octobre 2004StatutMembreDernière intervention12 octobre 2009
-
28 déc. 2007 à 20:10
amateurjava
Messages postés88Date d'inscriptionvendredi 8 octobre 2004StatutMembreDernière intervention12 octobre 2009
-
30 déc. 2007 à 15:50
Bonjour,
j'ai un leger probleme de codage :
J'ai d'un coté une BD mysql et de l'autre un page PHP qui liste des enregistrements de la base.
J'ai crée un script pour faire apparaitre une infobulle lorsque la souris passe sur un élément de la liste .
Le probleme, c'est que le débogage de IE me montre que ce script est ok lorsqu'un enregistrement ne comporte pas d'accent ou d'apostrophe.
Par contre dans le cas contraire il me renvoi des erreur ( ')' attendu)
je précise que le script d'info bulle affiche un texte qui est un concaténation de champs de la base.
ex $contenu=$nom.$prenom.$memo;
et je renvoi $contenu à mon script java.
1ere question : comment debuguer
2eme question : sachant que le champ $memo est de type 'longtext' dans ma base, il y a des retours de chariot qui me générent des erreurs (constante chaine non terminée)
comment débuguer
amateurjava
Messages postés88Date d'inscriptionvendredi 8 octobre 2004StatutMembreDernière intervention12 octobre 2009 30 déc. 2007 à 15:36
c'est la même histoire...
j'avais deja essayé.
Si dans ma page php, je met en initial d'encoder en utf8, lors de l'initialisation de la page, mes caractères seront en erreur.
Par contre, une fois ma requete ajax envoyée, ça fonctionnera.
Donc la solution serait d'initialiser en iso, et de demander à ajax de retourner la page en iso (decodage de l'utf8).
Normalement, d'aprés les tutos, lorsqu'on envoi la requete a ajax, ce qui est retourné peut etre recodifié avec
xhr_object.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
Le pb, c'est que ça ne recodifie pas chez moi... ça n'a jamais marché
Qu'est ce que j'oublie?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 déc. 2007 à 15:45
Non, c'est bien un utf8_decode() qu'il faut lors de l'ouput ajax.
Je fais ça depuis des années sans recontrer autant de problème. Tu ne fais pas les choses bien, ce n'est pas possible.
Fais voir ton script php appelé par Ajax.
<? $today=date('Y-m-d');
include ("connection.php");
$retard=mysql_query("SELECT *,DATE_FORMAT(note_date,'%d-%m')as note_date FROM note WHERE note_date < '$today'");
while ($ret=mysql_fetch_array($retard)) {?>
<? $jour=mysql_query("SELECT *,DATE_FORMAT(note_date,'%d-%m-%Y')as note_date FROM note WHERE note_date ='$today' ORDER BY note_heure ASC");
while ($jr=mysql_fetch_array($jour)) {?>
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("POST", requete, true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {