Avatar billede trine_h Nybegynder
29. april 2004 - 11:57 Der er 10 kommentarer og
1 løsning

stadig problemer med ÆØÅ

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stm = resp.GetResponseStream();
StreamWriter writer = new StreamWriter("test.txt",true,System.Text.Encoding.UTF8);   
long size = resp.ContentLength;
int c;
StringBuilder res = new StringBuilder();
while((c = stm.ReadByte()) >= 0)
{
res.Append((char)c);
if((res.Length % 1000) == 0)
{
Console.WriteLine("we have " + res.Length + " of " + size);
}
}
writer.Write(res.ToString());
stm.Close();
resp.Close();
writer.Close();
return res.ToString();



Ovenstående kode læser kildekoden fra en website ind i en stringbuilder og returnerer det. Problemet er at ord med æøå ser meget underlige ud - Jeg troede UTF8 ville løse problemet - men desværre ikke!
Avatar billede guidmaster Nybegynder
29. april 2004 - 11:59 #1
Har du prøvet med System.Text.Encoding.Default ?
Avatar billede expandingpixel Nybegynder
29. april 2004 - 12:00 #2
har du prøvet dem her ?

Encoding.ASCII
Encoding.BigEndianUnicode
Encoding.Default
Encoding.UTF8
Encoding.Unicode
Avatar billede guidmaster Nybegynder
29. april 2004 - 12:02 #3
System.Text.Encoding.Default bruger den ANSI code page der er sat på den maskine der afvikler koden.
Avatar billede trine_h Nybegynder
29. april 2004 - 12:02 #4
har prøvet default - det løser ikke problemet - prøver lige de andre
Avatar billede arne_v Ekspert
29. april 2004 - 12:06 #5
Det er nok i input og ikke i output at problemet ligger.

D.v.s. prøv:

Stream stm = resp.GetResponseStream();

->

StreamReader stm = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
Avatar billede trine_h Nybegynder
29. april 2004 - 12:10 #6
Arne_v - der var fejlen - men hvordan får jeg lavet en stm.readByte() fra en streamreader?
Avatar billede arne_v Ekspert
29. april 2004 - 12:11 #7
Erstat den med

stm.Read
Avatar billede trine_h Nybegynder
29. april 2004 - 12:12 #8
ok tak for hjælpen arne_v - endnu engang :)- du får pointene
Avatar billede arne_v Ekspert
29. april 2004 - 12:13 #9
svar
Avatar billede arne_v Ekspert
29. april 2004 - 12:14 #10
Men når du nu alligevel har en StreamReader så kan du også skippe hele løkken og
hente det hele med:

stm.ReadToEnd()

som læser resten ind i en string !
Avatar billede trine_h Nybegynder
29. april 2004 - 12:15 #11
okey - tak for tippet
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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