Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1006 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Encodage des lettres latine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS] Encodage des lettres latine

n°1370704
Spir
Words are timeless
Posté le 19-05-2006 à 16:09:56  profilanswer
 

Hello,
voilà j'ai fait un petit script en JS qui utilise l'objet XMLHTTPRequest. En fonction d'une action sur une page je vais charger tel ou tel fichier sur la page en utilisant cet objet.
Mon problème est simple mais je n'ai toujours past trouvé la solution qui est forcément évidente puisque tout le monde faisant ceci est confronté à ce problème.
 
Enfin bref, le souci c'est que le texte qui est retourné par mon objet XMLHTTPRequest n'est pas propre : l'encodage des caractère latin ne marche pas. Faut il ajouter un "setRequestHeader"? Et si oui lequel.
Par exemple si mon objet XMLHTTPRequest renvoi le mot "passé" alors il affichera "pass�".
 
Le code JS :
 
getXHR : pour configurer l'objet en fonction du navigateur :

Code :
  1. function getXhr()
  2. {
  3.      if(window.XMLHttpRequest) // Firefox & other browser
  4.         xhr = new XMLHttpRequest();
  5.      else if(window.ActiveXObject)
  6.      { // Internet Explorer
  7.         try
  8.         {
  9.              xhr = new ActiveXObject("Msxml2.XMLHTTP" );
  10.         }
  11.         catch (e)
  12.         {
  13.              xhr = new ActiveXObject("Microsoft.XMLHTTP" );
  14.         }
  15.      }
  16.      else
  17.      { // XMLHttpRequest not supported by the browser
  18.         alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  19.         xhr = false;
  20.      }
  21. }


 
Et voici ma fonction qui utilise cet objet

Code :
  1. var ie=document.all;
  2. var other=document.getElementById&&!document.all;
  3. var divName = 'Nomdemadiv';
  4. //numStep -> contient un numéro vu que j'utilise x div ayant pour nom divName+un numéro
  5. //File -> le fichier dans lequel on va chercher le texte
  6. //Param -> des paramètre que l'ont peut donner au fichier (file)
  7. function go( numStep, file, param )
  8. {
  9.      //Initialisation of the XMLHttpRequest Object
  10.      getXhr() ;
  11.      // We setup what we do when we will have the answer
  12.      xhr.onreadystatechange = function()
  13.      {
  14.              // If we have receive the data and if the server is ok then
  15.              if(xhr.readyState == 4 && xhr.status == 200)
  16.              {
  17.                      // We put the text receive in the div
  18.                      if ( ie )
  19.                      {
  20.                              document.all[ divName+ numStep ].innerHTML = xhr.responseText ;
  21.                      }
  22.                      else if ( other )
  23.                      {
  24.                              document.getElementById( divName + numStep ).innerHTML = xhr.responseText ;
  25.                      }
  26.              }
  27.      }
  28.      xhr.open('GET',file+param,true);
  29.      xhr.send(null);
  30. }


Message édité par Spir le 19-05-2006 à 16:11:45
mood
Publicité
Posté le 19-05-2006 à 16:09:56  profilanswer
 

n°1370710
effisk
我不讲中文
Posté le 19-05-2006 à 16:15:41  profilanswer
 
n°1370713
Spir
Words are timeless
Posté le 19-05-2006 à 16:17:05  profilanswer
 

Ouais ouais. Mais le souci c'est que je ne travail pas en UTF-8 et j'ai pas envie de le faire maintenant, je suis trop avancé dans le projet.
Es ce que l'utilisation de utf8_decode va pouvoir m'aider???
 
http://de.php.net/utf8_decode
 
En fait il faut que je fasse l'inverse de cette méthode avant que le js s'exécute. C'est à dire qu'il faut que le text que le JS va trouver doit etre encoder en utf-8. N'es ce pas?


Message édité par Spir le 19-05-2006 à 16:19:44
n°1370716
effisk
我不讲中文
Posté le 19-05-2006 à 16:20:07  profilanswer
 

utilise escape() côté client et URLDecoder.decode(requestParameter, "ISO-8859-1" ) côté serveur (Java).


---------------
London Box Office: Comédie Musicale Londres
n°1370720
Spir
Words are timeless
Posté le 19-05-2006 à 16:22:26  profilanswer
 
n°1397331
Spir
Words are timeless
Posté le 29-06-2006 à 17:05:32  profilanswer
 

le bug venait du serveur... Et non pas du navigateur!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Encodage des lettres latine

 

Sujets relatifs
XHTML Strict & Encodage Latin-1[Résolu] Problème d'encodage de String.
incompatibilité d'encodage de caractèreprobleme d'encodage sur un caractere
Encodage envoie de mail[SQL Server] Conversion somme en lettres
[ASP] post de formulaire, les lettres accentuées disparaissent !!Encodage d'une image au format jpg
Lettres grec dans un textboxmettre des lettres à la suite dans un label avec un boucle...
Plus de sujets relatifs à : [JS] Encodage des lettres latine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR