Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/06/2006, 10h44   #1
Invité de passage
 
Inscription : juin 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 7
Points : 4
Points : 4
Par défaut XMLHTTP, problèmes avec les accents

Bonjour,
J'ai fait un script en VBscript pour récupérer le code source d'une page html.
J'utilise pour cela l'objet XMLHTTP qui existe aussi en javascript. Mon problème c'est que cet objet ne me renvoie pas les caractères spéciaux : é,è,à... En javascript il les remplace par des ? et en VBscript par des blancs. Voici le fichier Test.vbs qui effectu la requête http et copie le code source dans un fichier test.txt :

langue="fr"
cpostal=35000

'Définition de l'URL meteoconsult avec les parametres à passer.
url = "http://www.meteoconsult.fr/ter/france/prevision/moteur.php?langue=" & langue & "&saisie=" & cpostal

'Définition et envoie de la requette http.
Set reqHttp = CreateObject("MSXML2.XMLHTTP.3.0")
reqHttp.Open "Get", url, false
reqHttp.setRequestHeader "content-type", "content=""text/plain; charset=UTF-8"""
reqHttp.Send()

'Ecriture de la réponse (code source de la page) dans un fichier text.
Set FSys = CreateObject("Scripting.FileSystemObject")
set tsFile = FSys.CreateTextFile("test.txt", True, True)
tsFile.Write reqHttp.responsetext
tsFile.Close

Set reqHttp = Nothing

Je cherche quelqu'un qui pourrait m'expliquer pourquoi je n'est pas les caractères avec accents.
Berliozz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 11h20   #2
Membre régulier
 
Inscription : mars 2004
Messages : 85
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 85
Points : 80
Points : 80
Envoyer un message via MSN à phoenix1998
mets ISO-8859-1 dans le charset au lieu de UTF-8
phoenix1998 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 11h43   #3
Invité de passage
 
Inscription : juin 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 7
Points : 4
Points : 4
ça n'a pas fonctionné, je ne sais pas si le fait de définir un Header dans la requête influ sur le format de la réponse...
Berliozz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 14h32   #4
Membre actif
 
Inscription : mai 2004
Messages : 166
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2004
Messages : 166
Points : 178
Points : 178
ça peut peut-être venir de là .
Pour créer un objet xmlhttp
Code :
1
2
 
  Set xml = Server.CreateObject("Microsoft.XMLHTTP")
Pour la version 3.0 de xmlHttp
Code :
1
2
 
  Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
amar00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2006, 11h32   #5
Invité de passage
 
Inscription : juin 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 7
Points : 4
Points : 4
J'ai suivie vos conseilles. J'avais aussi fait une erreur pour construir l'entête de la requete. Il fallait faire comme ceci :
reqHttp.SetRequestHeader "ContentType", "text/plain"
reqHttp.SetRequestHeader "Charset", "iso-8859-1"
Enfin j'ai vu que responsetext ne décode pas l'iso-8859-1 qui est le format de la page que je veut récupérer. J'ai lu ça sur MSDN :
http://msdn.microsoft.com/library/de...24d269e7b6.asp

Il y a la propriété responseBody qui permet de récupérer la réponse sous forme binaire mais je ne sais pas si il existe une fonction en VBscript pour décoder les données binaire en caractères ascii.
Berliozz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h07.


 
 
 
 
Partenaires

Hébergement Web