begin process at 2010 02 10 17:21:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Javascript et ActiveX

 > 

ActiveX

 > 

problème avec les accents et AJAX


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème avec les accents et AJAX

jeudi 15 juin 2006 à 18:05:33 | problème avec les accents et AJAX

maxos75

Bonjour,

J'i toujours un problème en AJAX lors de la transmission de données avec des accents,quelqu'un a t-il une idée?

Merci
jeudi 15 juin 2006 à 20:00:42 | Re : problème avec les accents et AJAX

coucou747

Salut,
il faut que tes pages soient encodées en utf-8



In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
vendredi 16 juin 2006 à 09:35:53 | Re : problème avec les accents et AJAX

maxos75

salut,

Je ne comprends pas tres bien,
Toutes les pages s'affichent correctement alors qu'elles sont codées en iso-8859-1.
J'ai juste un problème lors de l'appel AJAX dont le code est le suivant :


var xhr = null;
function getXhr()
{
 if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest();
 else if(window.ActiveXObject){ // Internet Explorer
    try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
   }
 }
 else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    xhr = false;
 }
}

function rappatrie_messages()
{
 getXhr()
 // On défini ce qu'on va faire quand on aura la réponse
 xhr.onreadystatechange = function(){
  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  if (xhr.readyState==1)
   {document.getElementById("Layer1").style.display='';
    document.getElementById("bouton_recherche").disabled='disabled';}
  if (xhr.readyState==2)
   {document.getElementById("Layer1").style.display='';}
  if (xhr.readyState==3)
   {document.getElementById("Layer1").style.display='';}
  if(xhr.readyState == 4 && xhr.status == 200){
   document.getElementById("Layer1").style.display='none';
   document.getElementById("ligne_reponses").innerHTML=xhr.responseText;
   document.getElementById("bouton_recherche").disabled='';
  }
 }
 xhr.open("POST","maincourante_ajax.asp",true);
 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; Charset=iso-8859-1");  
 var data="ref=&debut="+document.getElementById("debut").value+"&fin="+document.getElementById("fin").value+"&mot_cle="+document.getElementById("mot_cle").value+"&table=maincourante_maintenance_tbl";
 xhr.send(data);
 paramatre=null;
}


La page que j'appelle a le code suivant :
<!-- #include file="connexion.txt" -->
<!-- #include file="fonctions.txt" -->
<!-- #include virtual="/adovbs.inc" -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<%
response.write("<table width='100%'  border='0' align='center' cellpadding='1' cellspacing='1'>")
If Isdate(request.form("debut"))=false or Isdate(request.form("fin"))=False Then
 response.write("<tr><td align='center' bgcolor='#FFCC66'><strong>V&eacute;rifiez la coh&eacute;rence des dates de recherche</strong></td></tr>")
else
 'création de la requête
 sql_main="SELECT * FROM "&request.form("table")&", personnel_tbl, service_tbl WHERE id_auteur=[id personnel] AND [is service]=[service] AND reponse=False"
 If request.Form("mot_cle") <> "" Then
  mot_cle=replace(request.Form("mot_cle")," ","%")
  sql_main=sql_main & " AND message LIKE '%" & mot_cle & "%' "
 End if
 If request.Form("debut")<>"" and request.Form("fin")<>"" then
  sql_main = sql_main & " AND Date Between #" & conv_date(request.Form("debut")) & "# AND #" & Conv_Date(request.Form("fin")) & "# "
 End if
 'Fin de la requête.
 sql_main=sql_main & " Order By VIM, Date DESC"
 SET enr_main = connexion.Execute(sql_main)
 If enr_main.eof Then
  Response.write("<tr><td align='center' bgcolor='#FFCC66'><strong>Aucune entr&eacute;e recens&eacute;e pour les crit&egrave;res renseign&eacute;s</strong></td></tr>")
 else
  i=0
  Response.write("<div align='center'><strong>xx entr&eacute;es recens&eacute;es</strong></div>")
  Do while enr_main.EOF=false
  Response.write("<tr>")
    Response.write("<td bgcolor='#FFCC66'>")
   Response.write("<table width='100%'  border='0' align='left' cellpadding='2' cellspacing='0'>")
     Response.write("<tr>")
    Response.write("<td width='18%' valign='top'>")
     response.write("<div align='left'><strong>"&enr_main("date")&"</strong></div>")
     response.write("<div align='left'><strong>"&replace(replace(enr_main("NOM"),"é","&eacute;"),"è","&eacute")&", "&replace(replace(enr_main("Prénom"),"é","&eacute"),"è","&eacute;")&"</strong></div>")
     If enr_main("VIM")=true Then
      response.write("<div align='left'><img src='images/i.gif' height='25' width='25'></div>")
     End If
    Response.write("</td>")
    Response.write("<td width='82%' valign='top'><div align='left'>")
     Response.write("<table width='100%'  border='0' cellspacing='0' cellpadding='1'>")
       Response.write("<tr>")
      Response.write("<td>")
       response.write("<div align='left'>")
        If enr_main("service")=4 then
          Response.write("<font color='#FF0000'>")
        End if
         Response.write(replace(replace(replace(enr_main("message"),chr(13),"<br>"),"é", "&eacute;"),"è","&egrave;"))
        If enr_main("service")=4 then
          Response.write("</font>")
        End if
        Response.write("</div>")
      Response.write("</td>")
       Response.write("</tr>")
       sql_reponses="SELECT * FROM "&request.form("table")&", personnel_tbl, service_tbl WHERE id_auteur=[id personnel] AND [is service]=[service] AND reponse = TRUE AND id_message LIKE '" & enr_main("id") & "' order by date"
        SET enr_reponses = connexion.Execute(sql_reponses)
        If enr_reponses.EOF=False then
       Do while not enr_reponses.EOF
        Response.write("<tr bgcolor='#FFCC33'>")
        Response.write("<td>")
        response.write("<div align='left'>")
        If enr_reponses("service")=4 then
         Response.write("<font color='#FF0000'>")
        End if
        'teste si le groupe est autorisé à éditer le message
        If enr_reponses("id_auteur")=session("id_personnel") or session("groupe")="Administratif" then
         Response.write("R&eacute;ponse de "&replace(replace(enr_reponses("NOM"),"é","&eacute;"),"è","&eacute;")&", "&replace(replace(enr_reponses("Prénom"),"é","&eacute;"),"è","&eacute;")&" : <br>")
         If enr_reponses("id_auteur")=session("id_personnel") or session("groupe")="Administratif" then
          Response.write("<a href='maincourante_antenne_modif.asp?id="&enr_reponses("id")&"'>")
         End if
          Response.write(replace(replace(replace(enr_reponses("message"),chr(13),"<br>"),"é", "&eacute;"),"è","&egrave;"))
         If enr_reponses("id_auteur")=session("id_personnel") or session("groupe")="Administratif" then
          Response.write("</a>")
         End if
        else
         Response.write("R&eacute;ponse de "&enr_reponses("NOM")&", "&enr_reponses("Prénom")&" : <br>")
         Response.write(replace(replace(replace(enr_reponses("message"),chr(13),"<br>"),"é", "&eacute;"),"è","&egrave;"))
        End if
        If enr_reponses("service")=4 then
          Response.write("</font>")
        End if
        Response.write("</div></td></tr>")
        enr_reponses.Movenext
       LOOP
        else
       'insérer ici le message si vous voulez faire apparaitre qu'il n'y a pas de réponse
        End if
        enr_reponses.close
        Set enr_reponses=Nothing
        Response.write("<tr><td>")
        Response.write("<div align='right'><a href='maincourante_antenne_reponse.asp?id="&enr_main("id")&"'><img src='images/reply.gif' width='70' height='22' border='0'></a> <a href='maincourante_antenne_modif.asp?id="&enr_main("id")&"'>")
        If enr_main("id_auteur")=session("id_personnel") or session("groupe")="Administratif" then
         Response.write("<img src='images/modf.gif' width='70' height='22' border='0'></a> <a href='delete_message_mc.asp?id="&enr_main("id")&"&mc=informatique' onclick='if (window.confirm('Voulez vous effacer d&eacute;finitivement le message?'))     {return true;} else {return false;}'><img src='images/del.gif' width='70' height='22' border='0'></A> ")
        End If
     Response.write("</div></td></tr></table>")
    Response.write("</div></td></tr></table>")
   Response.write("</td>")
 Response.write("</tr>")
 enr_main.MoveNext
 i=i+1
 LOOP
 'Fin de la repetition
 End If
 SET enr_main = Nothing
 'Fin de la requête.

End If
Response.write("</table>")
%>


Je ne trouve pas comment faire
vendredi 16 juin 2006 à 09:37:35 | Re : problème avec les accents et AJAX

maxos75

là j'utilise replace pour le moment (bidouillage) mais j'ai pas fait pour à ô etc...
vendredi 16 juin 2006 à 19:22:38 | Re : problème avec les accents et AJAX

coucou747

Salut,

l'ajax est un xml (sinon, c'est une xmlhttprequest simple...) bref, vous confondez trop souvent ces deux choses...
et un xml est toujours en utf -8 (sinon, il n'est pas conforme normalement)

bref, souvent, une requette xmlhttp est considérée comme une requette utf-8


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
jeudi 20 juillet 2006 à 02:42:54 | Re : problème avec les accents et AJAX

Evangun

Réponse acceptée !
Salut, l'utf-8 c'est assez chiant vu qu'il faut toujours encoder les caractères...
Bon mais c'était pour dire à ceux qui cherchent que spécifier la norme de caractères sur la page APPELEE par Ajax règle le problème des accents, même si on n'est pas en utf8.

<?php
header('Content-Type: text/html; charset=ISO-8859-15');
?>


pour php
mercredi 30 mai 2007 à 17:49:40 | Re : problème avec les accents et AJAX

JeePI196

J'espere que ton probleme est réglé depuis... mais moi aussi j'ai vécu la même chose. J'ai perdu une matinée pour trouver une solution bien simple pourtant!

Lorsque tu envoies tes données en post assure toi d'utiliser la fonction "escape( )" pour transformer les caractères spéciaux.

xmlHttp.open("POST",url,false);
xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=iso-8859-1');
xmlHttp.setRequestHeader("Content-length", data.length);
xmlHttp.send(escape(data));

Ensuite dans ta page ASP qui est appellée, ajoute cette petite fonction que tu pourras appeller pour décoder tes données.

<script language=JScript runat=server> 
  function Decode(str)
  { 
      return unescape(str);
  }
</script>

Pour faire l'appel de cette fonction, rien ne change. C'est comme une fonction en ASP.

var maChaine = Decode(String(Request.Form));

Voila! Tout fonctionne très bien pour moi, même avec la "Evil String of Death"

TestString" a ' b < ' > ",!"/%$?$&?%*(()%/"!"/&?%$/"*&$/"?%&?-f¯Ñ112


J'espère t'avoir aidé.
lundi 10 décembre 2007 à 17:20:57 | Re : problème avec les accents et AJAX

krma

heu, j'me reveille tard mais MERCI à tous pour ces tuyaux :)
Fait plaisir de voir qu'on a pas été le seul à galèrer :p)

Be Good...
mardi 1 janvier 2008 à 18:30:28 | Re : problème avec les accents et AJAX

bpweb66

Bonjour !
Je remonte un peu le sujet car je viens de me lancer dans l'AJAX, et j'ai ce même soucis avec les accents
La solution de evangun est bien (le header avec le charset en ISO-8859-15), mais la question que je me pose maintenant c'est que j'utilise la réponse XML du traitement AJAX.
Donc j'ai déjà un header('Content-Type: text/xml');
Est-il possible de définir plusieurs fois la même en-tête, ou bien ... je ne sais quelle autre solution...

Merci par avance !
mardi 1 janvier 2008 à 20:29:14 | Re : problème avec les accents et AJAX

bpweb66

Bon autant pour moi mon problème est à priori résolu, j'avais mal utilisé la combinaison du escape() côté javascript et du urldecode() côté PHP :)

1 2

Cette discussion est classée dans : problème, ajax, accents


Répondre à ce message

Sujets en rapport avec ce message

problème des accents [ par hassan_kh ] hassansltquand je fais un lien vers une page html qui porte un nom contenant des accents et des caractères spiciaux ça marche pasest ce que vous pouve problème accent en AJAX (pas les classiques ?) [ par madfab ] Bonjour, j'ai codé des formulaires en AJAX supportant plusieurs pages et d'autres fonctionnalité. Un jour je me suis aperçu que tous les caractères ac problème fonctionnement ajax sous IE [ par ahcorad ] Bonjour, J'ai développé une application sur mon portable qui fonctionne parfaitement, je l'ai mis sur le serveur dédié, et la toutes les fonction AJAX Problème d'accents avec ajax dans le sens client --> serveur [ par roro06 ] Bonjour Je rencontre un problème d'accents en utilisant l'objet xmlhttprequest : les accents sont mal transmis vers le s que fait xhr.responseText de mes accents ? AJAX [ par aelshocht ] j'ai un petit probleme de transfert de données via Ajax ... les caractères accentués disparaissent .... j'envoie d'une page asp une requêtela réponse DHTMLGoodies [ par corsica ] Salut à tous.Petit problème à soumettre :J'ai une page PHP qui utilise AJAX par le biais du FrameWork DHTMLGoodies ( très bien au passage ).Le p Problème d'id dans la page mère [ par roro59650 ] Bonjour tout le monde ! Une nouvelle journée, un nouveau problème !! Comme je kiff à donf Ajax - getelementsbytagname is not a function? [ par jnbdzjnbdz ] Bonjour, je travaille depuis un certain temps sur une application web faite avec ajax et PHP. Je viens de rencontrer un problème qui m'empêche d'avanc problème liste lié avec AJAX et navigateur et doctype [ par FRED0181 ] Bonjour,J'ai creer une une page en PHP/AJAX qui comporte deux listes déroulante liées.(listes remplies par BD Mysql)Lorsque j'ai testé ma page, les li Télécharger un fichier en ajax [ par LuckyNut ] Bonjour à tous, Je vous explique mon problème : J'ai un script php qui traite le téléchargement de fichiers. Le problème est que pour des fichiers d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales