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]
Partager