Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Da TXT in Database... e poi in pagina WEB...
martedì 25 novembre 2008 - 18.16
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Skini82
Profilo
| Newbie
4
messaggi | Data Invio:
mar 25 nov 2008 - 18:16
Ciao a tutti ragazzi, non so che pesci pigliare... sono un Novellino di VB.NET e sono in alto mare con quello che 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
---------------------------------------
UPDATE - PROBLEMA RISOLTO!
---------------------------------------
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
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !