Encoding og Request.Querystring i .NET frameworket
En .NET web-application er som standard sat op til at bruge UTF-8 encoding (i Web.Config), mens Internet Explorer - så vidt jeg ved - bruger Unicode encoding til bl.a. JScript's escape- og unescape-funktioner, og de querystrings IE laver når man submitter en form med GET som method.Det giver det problem at specialtegn som "æ", "ø" og "å" ganske enkelt forsvinder, når man på en vilkårlig aspx-side aflæser en querystring vha. Request.Querystring. Det sker ikke fordi jeg bruger Server.URLDecode eller nogen andre metoder til at decode den givne querystring - specialtegnene er allerede forsvundet i Request.Querystring samlingen.
Jeg har prøvet at lege med mine Globalization-settings i Web.Config, og dette giver "bedste" resultat:
<globalization
requestEncoding="utf-7"
responseEncoding="utf-8"
culture="da-DK"
uiCulture="da"
/>
Resultatet er dog langt fra tilfredsstillende, for selv dette medfører at "æøå" mv. virker, gælder det kun når man bruger JScript's escape, eller lader en HTML-side GET-submitte til en aspx-side. Lader man en aspx-side GET-submitte til en anden, bliver "ø" fx. pludselig til "ø" - sandsynligvis fordi querystringen bliver encodet og decodet med forskellige tegnsæt.
Jeg vil bare gerne kunne bruge "æøå" og de øvrige europæiske specialtegn i mine querystrings - osse når jeg laver JScript escape og GET-submit. Nogen der kan hjælpe?
