South_Bridge Skrevet 27. oktober 2009 Del Skrevet 27. oktober 2009 (endret) Holder på med en applikasjon som tar et CSV dokument(exportert fra Excel 2007) og lagrer brudstykker av hver rad (kolonne selektion av bruker) og hiver det inn i mysql. Jeg har sjekket CSV fila. Innholdet står med æøå. CSV fila er en liste over datamaskiner og brukere. Så maskin med type stasjonær står som "Stasjonær" og bruker med navn "Ole Åsen" står som "Ole Åsen". Nå min applikasjon kjører igjennom CSV fila og lagrer til mysql gjør den dette, MEN øæå blir alle sammen erstattet med "?". Veldig dumt, hadde det vært noe annerledes kunne jeg bare senere har pløyd igjennom og replacet men æ, ø, å blir alle sammen kun erstattet med enkel "?" når alt er lagt opp i databasen. Databasen står med charset latin1, så den biten skal være grei og innhold i databasen med æøå blir allerede riktig vist. Er det noe muligheter til å sette charset i Visual C# express? eller i stringen (bruker string sql = "INSERT INTO..." for å så kjøre denne stringen. Endret 27. oktober 2009 av South_Bridge Lenke til kommentar
GeirGrusom Skrevet 27. oktober 2009 Del Skrevet 27. oktober 2009 (endret) .NET bruker 16-bit unicode. Du kan jo prøve å sette databasen til å bruker UTF-8 istedet for latin-1? 8-bit ASCII er bare sååååå 1995. Det kan være noen missforståelser i databasemotoren. edit: Du kan jo legge til BOM på .CSV filene, hvis Excel tillater det, det burde ordne biffen. Endret 27. oktober 2009 av GeirGrusom Lenke til kommentar
Alert Skrevet 27. oktober 2009 Del Skrevet 27. oktober 2009 Forsvinner de norske tegnene i det du leser inn fila, eller skjer det når du lagrer til basen? Hvis de er borte når du har lest inn fila, må du ette riktig encoding der du leser inn innholdet i CSV fila.. Hvis de forsvinner i det du inserter, er det nok noe rart med charset på basen. Men siden du sier at den allerede inneholder æ,ø og å, vil jeg tro de er byttet du før du gjør insert. Lenke til kommentar
South_Bridge Skrevet 27. oktober 2009 Forfatter Del Skrevet 27. oktober 2009 (endret) Forsvinner de norske tegnene i det du leser inn fila, eller skjer det når du lagrer til basen? Hvis de er borte når du har lest inn fila, må du ette riktig encoding der du leser inn innholdet i CSV fila.. Hvis de forsvinner i det du inserter, er det nok noe rart med charset på basen. Men siden du sier at den allerede inneholder æ,ø og å, vil jeg tro de er byttet du før du gjør insert. Det ser ut til at det er encodinga der jeg leser inn innholdet i CSV fila. Jeg ba programmet mitt spytte ut de 6 første i lista mi og pctypene ble da skrevet ut som "Stasjon<?>r" hvor <?> er en svart ruter(som i kortstokken) med ? i midten. kan det være noe med streamreader, jeg bare bruker den rett frem: StreamReader streamreader; string CSVString; streamreader = File.OpenText(txtUrlToFile.Text); CSVString = streamreader.ReadLine(); Endret 27. oktober 2009 av South_Bridge Lenke til kommentar
Alert Skrevet 27. oktober 2009 Del Skrevet 27. oktober 2009 Da er det encodingen der du leser inn fila! Sett den til f.eks. Unicode, så bør det fungere! Lenke til kommentar
South_Bridge Skrevet 27. oktober 2009 Forfatter Del Skrevet 27. oktober 2009 Da er det encodingen der du leser inn fila! Sett den til f.eks. Unicode, så bør det fungere! Hvordan gjør jeg det? :D Lenke til kommentar
South_Bridge Skrevet 27. oktober 2009 Forfatter Del Skrevet 27. oktober 2009 LØST =) StreamReader streamreader; string CSVString; streamreader = new StreamReader(txtUrlToFile.Text, Encoding.GetEncoding("iso-8859-1")); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå