Page 1 sur 1

pb d'encoding

Posté : 27 mars 2007, 00:34
par Invité
salut tt mes amis,voila téléchargé des script type AJAX d'un site et je l'ai adapté dans mon programme, mais mon pb c'est que j'ai une base de données en arabe avec le charset=windows-1256 tandisque ce code utilise le utf-8, alors mon affichage c'est du chinoi!! svp pouvez vous m'indiquer où exactement je doit changer le utf-8 par charset=windows-1256?
sachant je ne maitrise pas trop le java script (alors indiquez moi exactement les ligne a toucher.
et merci d'avance
voila le premier script (index.php):
<?php
include "connexion.php";
function Afficherfil($id)
{
$reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur

$fil='';// Initialisation de la variable $fil
//la selection des villes celon le code du department choisis
$req = mysql_query("SELECT `id_eta`,`all_fil` FROM `filiere` where id_eta= ".$id." ORDER BY all_fil") or die(mysql_error()); 

$fil .='<select id="fil">'; // on commence la declaration de la liste des filieres
$fil .='<option value="00">Selectionnez fil</option>';

  while($array = mysql_fetch_array($req))
{

               $fil .='<option value="'.$array['all_fil'].'">'.$array['all_fil'].'</option>';
               
}

$fil .='</select>';

$reponse = new xajaxResponse('ISO-8859-1');
$reponse->addAssign("afffil","innerHTML",$fil); // affichage du contenu de $ville (la liste des filieres) dans le div afffil
return $reponse->getXML();
}

require("xajax.inc.php");
$xajax = new xajax(); //On initialise l'objet xajax
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();
$xajax->registerFunction("Afficherfil");
$xajax->processRequests();//Fonction qui va se charger de faire les requetes APRES AVOIR DECLARER NOS FONCTIONS
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                <?php $xajax->printJavascript(); /* Affiche le Javascript */?>
</head>

<body>
<?
$req = mysql_query("SELECT `id_eta`,`all_eta` FROM `etab` ORDER BY all_eta") or die(mysql_error()); 
?>
<select id="etab" onChange="xajax_Afficherfil(document.getElementById('etab').value);">
<option value="00">Selectionnez etab </option>
<?php
  while($array = mysql_fetch_array($req))
{
?>
                  <option value="<?php echo ($array['id_eta']); ?>"><?php echo ($array['all_eta']."(".$array['id_eta'].")"); ?></option>
                  <?php
}
?>
</select>
<div id="afffil"></div>
</body>
</html>

et voila mon 2 eme script (xajax.inc.php):
<?php
include "connexion.php";
function Afficherfil($id)
{
$reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur

$fil='';// Initialisation de la variable $fil
//la selection des villes celon le code du department choisis
$req = mysql_query("SELECT `id_eta`,`all_fil` FROM `filiere` where id_eta= ".$id." ORDER BY all_fil") or die(mysql_error()); 

$fil .='<select id="fil">'; // on commence la declaration de la liste des filieres
$fil .='<option value="00">Selectionnez fil</option>';

  while($array = mysql_fetch_array($req))
{

               $fil .='<option value="'.$array['all_fil'].'">'.$array['all_fil'].'</option>';
               
}

$fil .='</select>';

$reponse = new xajaxResponse('ISO-8859-1');
$reponse->addAssign("afffil","innerHTML",$fil); // affichage du contenu de $ville (la liste des filieres) dans le div afffil
return $reponse->getXML();
}

require("xajax.inc.php");
$xajax = new xajax(); //On initialise l'objet xajax
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();
$xajax->registerFunction("Afficherfil");
$xajax->processRequests();//Fonction qui va se charger de faire les requetes APRES AVOIR DECLARER NOS FONCTIONS
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                <?php $xajax->printJavascript(); /* Affiche le Javascript */?>
</head>

<body>
<?
$req = mysql_query("SELECT `id_eta`,`all_eta` FROM `etab` ORDER BY all_eta") or die(mysql_error()); 
?>
<select id="etab" onChange="xajax_Afficherfil(document.getElementById('etab').value);">
<option value="00">Selectionnez etab </option>
<?php
  while($array = mysql_fetch_array($req))
{
?>
                  <option value="<?php echo ($array['id_eta']); ?>"><?php echo ($array['all_eta']."(".$array['id_eta'].")"); ?></option>
                  <?php
}
?>
</select>
<div id="afffil"></div>
</body>
</html>

Posté : 28 mars 2007, 10:21
par Maitrepylos
Bonjour,

As-tu essayé de passer tes données par utf8-decode().

La doc ici

Posté : 28 mars 2007, 12:35
par sokrates
merci de m'avoir répondu, mais excuse moi pouvez vous m'expliquer, comment je pourrais travailler dans un environnement utf-8?!!
et merci d'avance

Posté : 28 mars 2007, 12:58
par Maitrepylos
par exemple
utf8_decode($array['all_fil'])