Re: different encoding handling between old ASP and ASP.Net



Mark wrote:

> 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.

What does that mean? 0xC7, 0xA3, 0xB3, and 0xE6 are all meaningless in
UTF-8. There's no way to replace these bytes with a replacement
character, because that character's meaning would be ambiguous -- is it
the real character or a replacement? Whatever ASP does in this
situation, it's wrong.

Cheers,

--
http://www.joergjooss.de
mailto:news-reply@xxxxxxxxxxxxx
.



Relevant Pages

  • different encoding handling between old ASP and ASP.Net
    ... were invalid for their encoding (broken utf-8, say), ASP would give you back ... conversion error. ...
    (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)