Gå til innhold

C#: [LØST] excel->c#->mysql, bokstavene æøå blir alle sammen "?"


Anbefalte innlegg

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 av South_Bridge
Lenke til kommentar
Videoannonse
Annonse

.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 av GeirGrusom
Lenke til kommentar

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
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 av South_Bridge
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...