Character Encoding - Form submit (Internet Explorer mystik)
Jeg har et meget irreterende karakter kodnings problem med Internet Explorer.Jeg har en web-application med et administrations modul der skal håndtere en mængde forskellige sprog (fx norsk (charset iso-8859-1) og polsk (charset iso-8859-2)).
Prøv at kig på http://testzone.subsero.dk/polish/
Når jeg bruger Internet Explorer, får jeg følgende resultat når jeg submitter form'en :
testtext=k%F8rer&testtext2=Os%26%23322%3Buga
Men med alle andre browsere (fx Netscape 6 og Opera 6), får jeg :
testtext=k%F8rer&testtext2=Os%3Fuga
Mit problem er at jeg ikke kan behandle data'ene korrekt, når jeg ikke hved hvilket input jeg får (hvis jeg fx vil Server.HTMLEncode data'ene for at fjerne < tegn o.lign., så er det jo ikke så godt, hvis et af tegnene allerede ER HTML encodet).
Jeg har sat char sættet til ISO-8859-1 i både content-type, accept-charset egenskaben på <form>, og ASP egenskaben Session.Codepage.
Hvis jeg sætter karaktersættet sættet til ISO-8859-2 istedet (som indeholder det polske special tegn), så er det bare omvendt, så bliver ø'et til ø og det polske specialtegn (ł) er så ikke HTML encoded.
Hvorfor laver Internet Explorer denne HTML encoding på tegn ud over dens aktuelle tegnsæt?
Er der nogen måde man kan tvinge den til at opføre sig anderledes?
Hvilke versioner gør dette (jeg ved fx at Internet Explorer 5 på Mac ikke gjorde det da jeg prøvede med den)?