Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema codica caratteri nella creazione di un file xml

    Ciao a tutti... il mio problema è questo, creo un file xml leggendo i suoi valori da un database access, il file xml generato però poi ha degli errori di codifica dei caratteri.... tutti i caratteri accentati sono sballati.
    Nel database i caratteri accentati sono giusti il problema si pone quando li vado a salvare come xml.
    Ho letto da varie parti che il problema è che io salvo in formato ascii mentre a me serve il formato utf-8 per non avere questi errori di codifica.
    Uso questo codice per generare il file xml...

    codice:
    'apro il recordset che recupera i dati dal database
    Set select_immobile_cmd = Server.CreateObject ("ADODB.Command")
    select_immobile_cmd.ActiveConnection = Mia_connessione
    select_immobile_cmd.CommandText = "SELECT * FROM Tabella"
    select_immobile_cmd.Prepared = true
    Set select_immobile = select_immobile_cmd.Execute
    select_immobile_numRows = 0
    ...
    ...
    'creo il file xml
    Dim OggFile, origine, OggTextStream
    origine=server.Mappath("mio percorso")
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CreateTextFile (origine)
    Set OggFile = fso.GetFile (origine)
    Set OggTextStream = OggFile.OpenAsTextStream(2)
    OggTextStream.WriteLine "<NewDataSet>"
    OggTextStream.WriteLine "<tag_xml>"&Trim(select_immobile.Fields.Item("colonna").Value)&"</tag_xml>"
    ...
    OggTextStream.WriteLine "</NewDataSet>"
    OggTextStream.close
    ho letto che il problema è che Scripting.FileSystemObject usa solo Ascii e non posso impostargli la codifica con Utf-8 ma dovrei usare ado.stream ma non ho capito come fare... potete aiutarmi per favore?

    Grazie a tutti

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    qui la spiegazione sembra abbastanza semplice.
    http://wiki.mcneel.com/developer/scriptsamples/readutf8

    se riesci facci sapere cosa hai fatto

  3. #3
    Ciao e sopratutto stra-grazie perchè ho risolto!
    Ho seguito quello che era scritto li ed ho risolto anche diciamo abbastanza facilmente così:

    codice:
    'apro il recordset che recupera i dati dal database
    Set select_immobile_cmd = Server.CreateObject ("ADODB.Command")
    select_immobile_cmd.ActiveConnection = Mia_connessione
    select_immobile_cmd.CommandText = "SELECT * FROM Tabella"
    select_immobile_cmd.Prepared = true
    Set select_immobile = select_immobile_cmd.Execute
    select_immobile_numRows = 0
    
    Dim objStream
    Set objStream = CreateObject("ADODB.Stream")
    objStream.CharSet = "utf-8"
    objStream.Open
    objStream.WriteText "<NewDataSet>" & vbcrlf
    objStream.WriteText "<tag_xml>"&Trim(select_immobile.Fields.Item("colonna").Value)&"</tag_xml>" & vbcrlf
    ...
    ...
    objStream.WriteText "</NewDataSet>"
    
    objStream.SaveToFile "C:\Users\admin\Desktop\test.xml", 2

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    grazie a te per averlo verificato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.