Avatar billede normann Nybegynder
18. august 2003 - 17:43 Der er 11 kommentarer og
1 løsning

ÆØÅ der driller

Hejsa,

Jeg har lavet et program som benytter WebClient i c# til at poste til en side på nettet og derefter hente resultatet hjem.

Mit problem er bare at evt. danske tegn i resultatet bliver omdannet til noget skidt.

Er der nogen som kan hjælpe mig ud af denne knibe ?

Eksempelkode :

bResponse = wUpload.UploadData(sAddress, "POST", bPostArray);
result= Encoding.ASCII.GetString(bResponse);

,hvor sAddress er min webadresse og bPostArray de postede variable.


Mvh.
Bo
Avatar billede normann Nybegynder
18. august 2003 - 17:44 #1
Jeg søger en løsning som er lidt mere generel end at erstatte de danske tegn med fx _AA_ = Å. Det virker lidt utilfredsstillende :o)
Avatar billede arne_v Ekspert
18. august 2003 - 17:48 #2
Nu er jeg ikkke specielt C# kyndig men har du prøvet at erstatte
Encoding.ASCII med Encoding.UTF8 ?
Avatar billede normann Nybegynder
18. august 2003 - 18:03 #3
Ja det fjerner blot æøå !. Til gengæld gør den det rigtige hvis man skriver Encoding.Default - men jeg er lidt skeptisk overfor hvad det egentlig betyder.
Avatar billede odegaard Nybegynder
18. august 2003 - 18:53 #4
Den kan godt være lidt farlig at bruge, hvis du skifter server eller serveropsætning.
Encoding.Default: Gets an encoding for the system's current ANSI code page.
Avatar billede burningice Nybegynder
18. august 2003 - 18:57 #5
så kan men vel hurtigt lige lave en Response.Write(Encoding.Default); for at se hvilken encoding maskinen har, siden det virker, og så hardcode at bruge den :)
Avatar billede illbeback Nybegynder
18. august 2003 - 18:59 #6
Lytter med her...
Jeg har et tilsvarende problem i en Web Service, som pr. default er UTF-8 encoded. Når jeg poster (eller GET'er) mod f.eks. en ASP, er ÆØÅ stadig 'unicode' - altså 2 byte. Jeg har ikke kigget så meget på det men det lyder som samme problem. Jeg har løst problemet 'den anden vje' ved at encode response body med Windows-1253 codepage.
Avatar billede odegaard Nybegynder
18. august 2003 - 19:12 #7
cyberfessor, den går vist kun i VB.NET. Husk ToString:
Response.Write(Encoding.Default.ToString());
:-)
Avatar billede burningice Nybegynder
18. august 2003 - 19:15 #8
odegaard>> Response.Write() skulle da gerne implicit kalde ToString() metoden... men ellers har du ret
Avatar billede odegaard Nybegynder
18. august 2003 - 19:26 #9
Det har jeg aldrig fået lov til med C#, men den går med VB.NET.
Det er nok derfor jeg har fået så meget respekt for C# og er gået 100% over til det. Det er noget mere stringent med typerne og antager ikke bare noget.
Avatar billede burningice Nybegynder
18. august 2003 - 20:18 #10
i know, i know... jeg rører heller ikke vb.net, med mindre det er aller højst nødvendigt, hvilket er meget sjældent.

Jeg ved heller ikke lige hvorfor at jeg kom med det Response.Write() eksempel... jeg mener, det er jo ikke engang asp.net det her. Tror jeg har svaret på lidt for mange asp.net spørgsmål idag :S.

Men nok om det. MessageBox.Show(Encoding.Default.ToString()); burde kunne gøre det :)
Avatar billede normann Nybegynder
20. august 2003 - 17:26 #11
Hej CyberFessor - hvis du lige laver et svar - så er der et par billige points på vej til dig :)
Avatar billede burningice Nybegynder
21. august 2003 - 13:10 #12
:) fair nok
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