Open Bug 473533 Opened 16 years ago Updated 2 years ago

Non-ascii characters are not recognized by server on postback

Categories

(Core :: DOM: Core & HTML, defect, P5)

x86
Windows XP
defect

Tracking

()

UNCONFIRMED

People

(Reporter: rdunzl, Unassigned)

References

()

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; da; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; da; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5

On our website the danish characters æ, ø and å are truncated or replaced with ? in posted input. It seems to be related to bugs 464958, 431701 and 407213 (I was able to write a workaround using the info in bugs 407213 and 431701).



Reproducible: Always

Steps to Reproduce:
1. Go to http://www.saxo.com/dk/
2. Buy something by clicking on a yellow button with the text "Læg i kurv" (add to basket). You'll be redirected to http://www.saxo.com/Shop/Cart/ShowCart.aspx
3. Click on the yellow "Gå til kassen" button (go to check-out). This will redirect to http://www.saxo.com/Shop/Cart/Address.aspx?Checkout=true
4. Type in some non-ascii characters in the address input boxes, like
Fornavn (first name): Johnæøå
Efternavn (last name): Doeæøå
Adresse (street WITH house number): Streetæøå 123
Postnr./by (postalcode and district): 2300 - there's an ajax call here that will look up the corresponding district
Land (country): Danmark (choose Denmark or some other inputs will appear)
E-mail: a@b.c
5. Click the yellow "Gå videre" button. You'll be redirected to http://www.saxo.com/Shop/Cart/Summary.aspx
Actual Results:  
On the summary the non-ascii characters are missing

Expected Results:  
The non-ascii characters should be there :-P

I've just taken over the solution so I'm not 100% into the code. I've set up a development environment hosted on winXP and here the non-ascii characters are replaced with ? instead of being truncated.

When I step through the code in the dev-env the strings from the input boxes are substituted with □, but I can get things right by hooking into the global.asax Application_BeginRequest event and change the encoding (it's utf-8 initially) like:

If Request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; da; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5" Then
     Request.ContentEncoding = System.Text.Encoding.GetEncoding(28591)
End If
Component: General → DOM: Mozilla Extensions
Product: Firefox → Core
QA Contact: general → general
Just to make it clearer: The postback has the "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" and this causes ASP.NET to parse input incorrectly. ASP.NET's Request.ContentEncoding is UTF-8 but if I change that very early in the page life cycle to iso-8859-1 the input is parsed properly.

I believe the behaviour is like what is described in bug464958, but this is a regular postback.

There's some ASP.AJAX stuff on the page so maybe this error is duplicate (and then it already has been fixed) even though I get the error on regular postsbacks.
Component: DOM: Mozilla Extensions → DOM
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046

Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5.

If you have questions, please contact :mdaly.
Priority: -- → P5
Component: DOM → DOM: Core & HTML
Severity: minor → S4
You need to log in before you can comment on or make changes to this bug.