Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    23

    [VB.NET] Da file di testo a DB... a pagina WEB!

    Ciao a tutti ragazzi, non so che pesci pigliare... sono un Novellino di VB.NET e sono in alto mare con quello che penso sia presumibilmente una cavolata...

    Un fornitore mi passa un file .CSV contenente codice e descrizione dei prodotti che fornisce al mio cliente.
    Io sto creando un servizio Windows che ogni notte va ad inserire nel database prodotti i nuovi prodotti e la loro descrizione. Il tutto funziona correttamente, MA.... perché c'è sempre un MA!
    Succede che quando nella mia applicazione web vado a visualizzare il prodotto inserito, ho una sequela di caratteri strani (persino gli apostrofi.. giusto x fare un esempio).
    Alché mi son detto, massì niente di grave... è la codifica dei caratteri.... ci ho perso un pomeriggio e non ce ne sono venuto a capo...
    Dunque... sto file di testo pare sia codificato in UTF-7.... come ho fatto a scoprirlo? Ho provato ad aprirlo con Word e con UTF-8 mi da lo stesso problema, ma con UTF-7 vedo i caratteri correttamente...
    Leggo il file (tralascio il ciclo da inizio file etc) e scrivo nel mio campo DB:

    FileTXT = File.OpenText(".\anagraficaEstesa.txt")
    StrTMP = FileTXT.ReadLine()
    MyRow("Descrizione")=StrTmp

    ...poi aggiorno il db ecc.. tutto si conclude bene

    Ma quando vado a tirar su i dati dal mio sito web, mi appaiono tanti punti di domanda o cose strane sui caratteri speciali....
    Ho giocato un po' con l'ENCODING di VB.NET ma non so.. non sono molto esperto quindi mi sa che ho creato del codice FUFFA!

    Sono nelle vostre mani gente!
    Grazie per l'aiuto in anticipo!
    Sk

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    23
    Niente ragà.. torvato la soluzione!

    In sostanza l'unica cosa da cambiare è l'apertura del file, che invece di essere come quella sopra postata diventa:

    FileTXT = New StreamReader(".\miofile.txt", Encoding.UTF7)

    In sostanza File.OpenText è un po' ignorante come apertura perché si comporta come blocco note di windows.. se non è nel suo formato ti tira su caratteri a caso (usa UTF-8 se non erro, che comunque va bene nella maggior parte dei casi)!
    Invece con StreamReader posso decidere la codifica con cui leggere il file.

    Quindi mio consiglio è prima provare con file.opentext, se si visualizzano caratteri strani xché la codifica è diversa, implementare streamreader con la codifica adeguata.

    Magari era una boiata ma se qualche altro novellino ne avrà bisogno non dovrà sbattersi a capirlo quanto me

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.