PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → XMLHTTPRequest et les caractères accentués
XMLHTTPRequest et les caractères accentués
Iniciado por blanchard.james, fev., 13 2006 10:23 AM - 2 respostas
Publicado em fevereiro, 13 2006 - 10:23 AM
Suite au superbe projet WebDev/Ajax d'Olivier publié sure les tablettes, j'utilise XMLHTTPRequest pour transmettre des données au code serveur (fonction LoadData).
Mon problème est que, si ces données contiennent des caractères accentués, ces derniers sont remplacés par des caractères spéciaux, du genre "é" qui devient "é".
J'ai compris que ces remplacements sont dûs à l'instruction :

xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");

Voici donc mes questions :

1. Est-il possible de ne pas effectuer cette transformation des caractères accentués ? J'ai essayé :

xhr_object.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");

Mais ça ne semble plus marcher. Apparemment, Dans ce cas, le xhr_object.send(sdata) semble ne plus rien envoyer.

2. Sinon, y a-t'il une méthode pour rétablir ces caractères accentués en code serveur ?

Merci d'avance pour votre aide.

James
Publicado em fevereiro, 13 2006 - 11:54 AM
Salut James et merci pour les compliments,

regarde dans le projet sur la page de la jauge puis regarde bien le code navigateur du bouton BtnPost. Ce cas est
justement traité ;-) !
En fait, tout réside dans l'encodage des valeurs avant l'envoi. Il faut utiliser la fonction pURLEncode.

Voilà, je pense que ça va jouer (j'espère en tout cas).

Bon dev,

Olivier

James a posé le problème suivant :

Suite au superbe projet WebDev/Ajax d'Olivier publié sure les tablettes, j'utilise XMLHTTPRequest pour transmettre des
données au code serveur (fonction LoadData).
Mon problème est que, si ces données contiennent des caractères accentués, ces derniers sont remplacés par des
caractères spéciaux, du genre "é" qui devient "é".
J'ai compris que ces remplacements sont dûs à l'instruction :

xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");

Voici donc mes questions :

1. Est-il possible de ne pas effectuer cette transformation des caractères accentués ? J'ai essayé :

xhr_object.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");

Mais ça ne semble plus marcher. Apparemment, Dans ce cas, le xhr_object.send(sdata) semble ne plus rien envoyer.

2. Sinon, y a-t'il une méthode pour rétablir ces caractères accentués en code serveur ?

Merci d'avance pour votre aide.

James
Publicado em fevereiro, 13 2006 - 12:20 PM
Olivier,

Merci pour cette réponse.
C'est parfait maintenant.
Bonne continuation à toi.