Avatar billede larsdue Nybegynder
02. november 2005 - 15:01 Der er 8 kommentarer og
1 løsning

Skriv utf-8 tekst til fil via StreamWriter. Komplet kodeeksempel

Jeg har noget xml data i en database, som jeg ønsker at hente og skrive ud i en xml-fil i filstrukturen. Mine data er lagt ind som UTF-8 i databasen, da der bla. er polske og russiske tegn. Filen der oprettes skal derfor være UTF-8, således at de korrekte tegn bibeholdes. (StreamWriter?)

Koden skal helst ligge i en enkelt .aspx fil og filen skal kunne læse en parameter fra URL'en, som angiver hvilken record i databasen det er der skal skrives ud.

Så hvis nogle kan leverer et komplet kodeeksempel, som er lige til at copy paste over i en .aspx fil og afvikle (skal naturligvis nok selv modificere parametrene), så er der 100 point at hente. :-)

/Lars
Avatar billede arne_v Ekspert
02. november 2005 - 15:05 #1
StreamWriter sw = new StreamWriter(filnavn, false, Encoding.UTF8);

?
Avatar billede larsdue Nybegynder
02. november 2005 - 15:30 #2
Ja, så langt er jeg også selv kommet, men da jeg desværre ikke er så velbevandret i .NET, så har haft problemer med at afvikle de kodeeksempler, jeg hidtil har kunnet finde på nettet. Synes ikke rigtig jeg har kunnet få tingene til at fungere, hvorfor jeg tyede til Eksperten.dk for at få et "komplet" kodeeksempel, samt noget sparing på fejlkilderne...

Har bla. prøvet at afvikle følgende kode, men får en "BC30002: Type 'FileStream' is not defined." error:

<%
Dim CSVFileStream As FileStream = New FileStream("C:\\Inetpub\\wwwroot\\utf8\\dinfil.txt", FileMode.OpenOrCreate)
Dim CSVFile As StreamWriter = New StreamWriter("noget tekst", System.Text.Encoding.UTF8)
%>
Avatar billede arne_v Ekspert
02. november 2005 - 15:32 #3
<%
Dim CSVFile As StreamWriter = New StreamWriter("C:\Inetpub\wwwroot\utf8\dinfil.txt", false, System.Text.Encoding.UTF8)
%>
Avatar billede larsdue Nybegynder
02. november 2005 - 15:36 #4
Det giver mig stadig følgende:

BC30002: Type 'StreamWriter' is not defined.

Hvad gør jeg galt?
Avatar billede arne_v Ekspert
02. november 2005 - 15:38 #5
<%
Dim CSVFile As System.IO.StreamWriter = New System.IO.StreamWriter("C:\Inetpub\wwwroot\utf8\dinfil.txt", false, System.Text.Encoding.UTF8)
CSVFile.WriteLine("bla bla")
CSVFile.Close
%>
Avatar billede larsdue Nybegynder
02. november 2005 - 15:51 #6
Hopla, det var løsningen.... i hvert fald i første omgang. Kan se at jeg har nogle problemer med tegnsættet stadigvæk, men nu får jeg da i det mindste filen oprettet.

Hvis du kunne klare et eksempel på hvorledes jeg får lagt et dababase kald ind også og evt hentet en parameter fra URL'en (old school QueryString) så er vi næsten helt i mål :-)
Avatar billede arne_v Ekspert
02. november 2005 - 18:40 #7
Request.QueryString("key") bør virke

og et database kald er et lidt vidt begreb ...
Avatar billede larsdue Nybegynder
02. november 2005 - 21:47 #8
Det er helt i orden. "Opdagede" at mine "gamle" db kald virker fint i .NET, så ingen problem der.

Alt i alt er jeg nået frem til en løsning der virker, så Arne, hvis du smider et svar, så skal du få dine velfortjente point.

Kunne ikke havde fået det lavet færdigt i dag uden din hjælp. Mange tak.

/Lars
Avatar billede arne_v Ekspert
02. november 2005 - 21:49 #9
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester