Bonjour,

Je suis confronté à un problème d'encodage.

Je me connecte à une base SQLServer afin d'en extraire les données pour les exporter ensuite sous la forme d'un fichier XML.

voici comment je procède :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
 
 ''''''''''''''''''''début paramètres '''''''''''''''''''''''''''''''''''''''''
 
	Server.ScriptTimeOut = 1800
 
    Set oFso = Server.CreateObject("Scripting.FileSystemObject")
    szFileName="Extract.xml"
    szFilePath = Server.MapPath(".")
 
    If oFso.FileExists(szFileName) Then
		' Je dois supprimer le fichier de destination
		oFso.DeleteFile(szFileName)
	End If
 
    szFileName = szFilePath & "\" & szFileName
    response.write szFileName
    ' Crée le fichier de sortie
	Set oOutputFile = oFso.CreateTextFile(szFileName, TRUE, FALSE)
 
''''''''''''''''''''''' Fin des paramètres ''''''''''''''''''''''''''''''
 
 
'''''''''''''''''''''''''''''''''''''Ecriture en-tête fichier xml''''''''''''''''''''''''''''''''''''''''''''''''
   xml = "<?xml version=""1.0"" encoding=""UTF-8""?>"
 
 
'''''''''''''''''''''''''''''''''''''Ecriture corps fichier xml''''''''''''''''''''''''''''''''''''''''''''''''
 
  rs.open "select * from MaTable"
  xml= xml & "<tags>"
  do until rs.eof 
     xml= xml & "<tag>" & rs("MonChamp") & "</tag>"
     rs.movenext
  loop
  rs.close
  xml = xml & "</tags>"
 
''''''''''''''''''''''''Ecriture du fichier
    oOutputFile.WriteLine(xml)
    '' Fermeture du fichier de sortie
	Set oOutputFile = Nothing
	Set oFso = Nothing

Malheureusement SQLServer stocke les données en ISO-8859-1. Or notre partenaire à besoin d'un fichier encodé en UTF8 et la fonction équivalent à UTF8_Encode() de php n'a pas d'équivalent en ASP.

après moult recherches, j'ai réussi à trouver cette info : http://xmlfr.org/listes/xml-tech/2001/12/0208.html

malheureusement bien qu'en rajoutant @codepage=65001 je ne vois aucune différence entre mon ancodage ISO et mon Encodage UTF8 (même pb d'afichage et même poids à l'octet près).
Comme si cela ne fonctionnait pas ...

Quelqu'un a - t - il été déjà confronté à ce problème ???






Je dois obligatoirement l'encoder en UTF-8. Or mon hébergeur a configuré le Server pour un stockage des données en ISO-8859-1.[/code]