Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Reponse xml

Posted by christophec on 10/31/2007 13:34

Est-il possible de modifier le codage de la reponse XML.

J'utilise AJAX pour mettre à jour des champs de formulaire. Avec une réponse text je n'ai pas de problème de carractère accentué mais avec une réponse XML le é est remplacé par ? etc...

  [Opened] Re: Reponse xml

Reply #1 Posted by laurentj on 10/31/2007 13:59

Le contenu XML est renvoyé avec le charset défini dans la config de l'appli. Si ça marche avec une réponse text (qui renvoi lui aussi le contenu avec le même charset que celui indiqué dans la config), ça me parait étrange que tu ais un problème...

  [Opened] Re: Reponse xml

Reply #2 Posted by laurentj on 10/31/2007 14:01

Les données que tu renvois, ce sont les mêmes dans les deux cas, text et xml ?

  [Opened] Re: Reponse xml

Reply #3 Posted by christophec on 10/31/2007 14:43

voici l'action qui génère la réponse dans les 2 cas:

réponse xml

 function findcaract() {
                $caracts = jDao::get("caracaero");
		$caract = $caracts->get($this->param('param'));
		$car = $caract->caracteristique;
		$rep = $this->getResponse('xml');
		$rep->content = "<reponse><tag>$car</tag></reponse>";
		return $rep;
	}
	

réponse text

 function findcaract() {
		$caracts = jDao::get("caracaero");
		$caract = $caracts->get($this->param('param'));
		$car = $caract->caracteristique;
		$rep = $this->getResponse('text');
		$rep->content = "$car";
		return $rep;

  [Opened] Re: Reponse xml

Reply #4 Posted by christophec on 10/31/2007 14:46

si $car ="aéronef" en réponse xml j'ai une erreur javascript: reponse.getElementsByTagName("tag")0 has no properties

si $car = "aeronef" aucun problème en xml

  [Opened] Re: Reponse xml

Reply #5 Posted by christophec on 10/31/2007 15:49

J'ai modifié mon action :

 function findcaract() {
        $caracts = jDao::get("caracaero");
	$caract = $caracts->get($this->param('param'));
	$car = $caract->caracteristique;
 $car = utf8_decode($car);
	$rep = $this->getResponse('xml');
	$rep->content = "<reponse><tag>".htmlspecialchars($car)."</tag></reponse>";
	return $rep;
 }

là j'obtient comme réponse a?nef au lieu de aéronef tout repond bien sauf pour les caractères accentués.

  [Opened] Re: Reponse xml

Reply #6 Posted by christophec on 11/05/2007 08:45

J'ai trouvé une solution : j'ai utilisé une réponse personnelle xml avec l'encodage utf-8 et non pas l'encodage par défault de l'application(iso-8859-1). chaque valeur provenant de la base de données (Mysql) je les modifie avec utf8_encode avant de les insèrer dans ma réponse. Depuis plus de problème avec une réponse XML.

 
Page
  1. Re: Reponse xml