21 messaggi dal 04 gennaio 2005
salve a tutti.

Sto cercando di scrivere un file di testo e fin qui tutto bene.

Il file di testo deve avere codifica UTF-8 e formato Unix, perchè deve essere compatibile con un programma particolare. Qunidi provando a creare direttamente il file non era corretto in quanto il formato era windows.

Pertanto apro il file, ed aggiungo le righe che mi servono

Lo scrivo così:
Dim fsoMyFile
Set fsoMyFile = CreateObject("Scripting.FileSystemObject")
fsoMyFile.CopyFile ("/public/export/originale.bgm"), _
    ("/public/export/modificato.bgm"), True

Dim objFSO, objTextFile 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
 Set objTextFile = objFSO.OpenTextFile(("/public/export/modificato.bgm"), 8, True)

SQL = "SELECT Gare.CodiceGara, Gare.Data, Gare.TipoGara, Gare.Denominazione, Giornate.DescrizioneGiornata, Clubs.NomeClub, Gare.NumeroGiri, Gare.NumeroGiorni, Campi.ID_spec"
SQL = SQL & " FROM Campi INNER JOIN ((Gare INNER JOIN Giornate ON Gare.codicegiornata = Giornate.ID) INNER JOIN Clubs ON Gare.CodOrg = Clubs.CodiceClub) ON Campi.ID = Gare.CodiceCampo "
SQL = SQL & " WHERE CodiceGara = "& codicegara &" "
  
    Set ListaGare = Server.CreateObject("ADODB.Recordset")
    ListaGare.open SQL,PannelloConn,3,1

  objTextFile.WriteLine ""&testo1&" - "&ListaGare("Denominazione")&" "
  objTextFile.WriteLine "città"



qui cominciano i problemi.
il carattere accentato non viene tradotto aprendo il file poi in notepad++.
la à viene tradotta in xEO.
Pertanto ho aggiunto ad inizio pagina
<meta http-equiv="Content-Type" content="text/html; charset=1252">


questo mi consente di leggere correttamente la riga città.
Invece nella prima "writeline" è presente ancora la parola città ma questa proviene da un database access 2000. Nonostante abbia impostato il charset questa viene scritta come cittxEO.
Immaginando un problema di conversione di charset ho inserito un server.htmlencode per il testo proveniente dal database.
Qualcosa cambia. viene fuori citt&#224;
Nel database i caratteri accentati sono scritti correttamente.

Ho provato diverse soluzioni con response.charset e response.codepage ma invano.
Non vorrei fare dei replace

Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
anziché usare FileSystemObject, prova a scrivere il file usando l'oggetto ADODB.Stream, che ti dà la possibilità di indicare il charset UTF-8.

In questa pagina trovi un esempio, scorri fino all'ultimo post.
http://forum.html.it/forum/showthread/t-1094645.html

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.