different encoding handling between old ASP and ASP.Net



Hi...

Just noticed something odd... In old ASP if you had query parameters that
were invalid for their encoding (broken utf-8, say), ASP would give you back
chars representing the 8-bit byte value of the broken encoding, so you still
got something for every input byte.

This appears to have changed radically in ASP.Net, going down to the base
System.Text.Encoding object. Now, it appears to simply vaporize bytes that
don't fit in the encoding. You don't even get a ? placeholder like you get
in so many other contexts in asp.

Could anyone explain why there was such a dramatic change in the handling
of error cases? Is there a way using the .net framework to know if you had
an encoding error?

An example of the input:
/test.aspx?query=%C7%D1%B1%DB%BA%A3%B3%CA%B9%E6
In the above, C7, A3, B3, and E6 don't make a valid utf-8 stream, but
looking for Request.QueryString ("query") gives me the decoded version, just
missing any representation of the offending characters, i.e. three characters
1137, 1786, and 697 (which don't render in IE either by the way).

Request.QueryString ("query") in ASP would yield a 10-character string, with
each of the original bytes converted to the raw 8-bit value.

Seems like a pretty big difference in handling things and I don't see a way
of getting any kind of indication (Exception or something) that there was a
conversion error.

Thanks
-mark

.



Relevant Pages

  • Re: different encoding handling between old ASP and ASP.Net
    ... In old ASP if you had query parameters ... > that were invalid for their encoding (broken utf-8, say), ASP would ... > encoding, so you still got something for every input byte. ... character, because that character's meaning would be ambiguous -- is it ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Encoded chars from form post
    ... We have an asp application which we are building in unicode support. ... select encoding in IE). ... If the encoding is set to utf-8 before you post the data it should ... japanses or chinese characters (seems to b ...
    (microsoft.public.inetserver.asp.general)
  • Re: ASP FIles Uncoding.
    ... Yes, that worked before encoding. ... The @ command can only be used once within the Active Server Page. ... >> I have downloaded ASP file encoder utility from MSDN Web site. ...
    (microsoft.public.inetserver.iis.security)
  • Re: Error decoded 8 bit characters.
    ... > We ran into an issue with the decoding 8 bit characters. ... The source asp page is encoding using ISO-Western European ... > framework uses the Unicode as the basis for decoding the URL. ...
    (microsoft.public.dotnet.framework.aspnet)