fmsol
asked on
Passing special characters in http get request
Have a webpage that is opened from another system with parameters that can contain extended ascii characters:
var pname = Request["pname"];
and shows it on the page with @pname
Works fine for all browsers except IE (even IE11) when pname=Günther or another name with foreign characters; ü, ø and so on.
Example:
The webpage is using <meta charset="UTF-8" />
Why does this work in Chrome and Opera but not in IE?
Any solution? I have no control over the submitting system, som the url cannot be encoded before submit.
http://<host>/submitpage.cshtml?pname=SomeName
The cshtml webpage reads the parameters as usual with:var pname = Request["pname"];
and shows it on the page with @pname
Works fine for all browsers except IE (even IE11) when pname=Günther or another name with foreign characters; ü, ø and so on.
Example:
http://<host>/submitpage.cshtml?pname=Günther
results in G�ntherThe webpage is using <meta charset="UTF-8" />
Why does this work in Chrome and Opera but not in IE?
Any solution? I have no control over the submitting system, som the url cannot be encoded before submit.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thank you Big Monty,
but why isn't this a problem in Opera and Chrome? Only IE?
I can also solve it by using jQuery:
but why isn't this a problem in Opera and Chrome? Only IE?
I can also solve it by using jQuery:
$(location).attr('search');
which returns the correct string, but I thought it could be solved more easily with another codepage or something.
Because IE is a lot less forgiving than other browsers (older versions at least) because it doesn't always follow the same standards. Once Edge comes out, hopefully all of that goes away.
Ok Thanks! I will put some notes around before I post any link.
Cheers