Benutzer mit den meisten Antworten
ASP.NET ClientQueryString Encoding %C4 wird zu %ufffd

Frage
-
Guten Tag
Ich konnte nicht sehr viel über mein Problem im Internet finden, Google will mir heute irgendwie nicht helfen. Ich denke, die Sache könnte durchaus auch etwas exotisch sein.
Zur Situation:
Ich stelle eine ASP.NET Website zur Verfügung, die von einem externen Partner aufgerufen wird. Da es um ein Codierungs-problem geht, habe ich ihn gebeten, über seine Anwendung den Text "ÄäÖöÜü" zu mir zu schicken.
Danach haben wir Logs verglichen.
Er sendet mir "?msg=%C4%E4%D6%F6%DC%FC"
Ich empfange "?msg=%ufffd%ufffd%ufffd%ufffd%ufffd%ufffd"
Es ist mir somit nicht mehr möglich, den String irgendwie zu dekodieren. Entsprechend sieht es dann bei mir so aus:
HttpUtility.UrlDecode(ClientQueryString) == "?msg=������"
Ich finde das höchst seltsam. Vor allem habe ich keine Möglichkeit, den ClientQueryString im Code abzufangen, bin ja schon im Page_Load Event. Handelt es sich dabei um irgend eine Einstellung, die man in der web.config setzen muss? Oder kann es mit IIS7 zusammenhängen?
Vielen Dank im Voraus
Antworten
-
Hallo Giuseppe,
- Ist es relevant, was der Partner für ein Encoding verwendet?
- Wo sehe ich, welches Encoding ich verwende? Im Code wohl nicht auf den ersten Blick, wahrscheinlich in der Web.Condig? Im Code betrachte ich nur die this.ClientQueryString Property.
Ansonsten habe ich keine spezielle Encoding-Einstellungen eingestellt. Würde ein Auszug aus der Webconfig helfen?
Wenn dort etwas steht ja (<globalization> Node). Ansonsten dürfte es UTF-8 sein, zumindest wäre das die Standardeinstellung. Das kann aber auch anders sein und hängt von mehreren Faktoren ab.
http://msdn.microsoft.com/de-de/library/hy4kkhe0.aspx
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Giuseppe Crescimanno Donnerstag, 25. November 2010 10:08
Alle Antworten
-
Hallo Guiseppe,
Ich stelle eine ASP.NET Website zur Verfügung, die von einem externen Partner aufgerufen wird. Da es um ein Codierungs-problem geht, habe ich ihn gebeten, über seine Anwendung den Text "ÄäÖöÜü" zu mir zu schicken.
Danach haben wir Logs verglichen.
Er sendet mir "?msg=%C4%E4%D6%F6%DC%FC"
Ich empfange "?msg=%ufffd%ufffd%ufffd%ufffd%ufffd%ufffd"
mit welchem Encoding sendet er den Request? Welches Encoding verwendest Du?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi Stefan
Gegenfragen:
- Ist es relevant, was der Partner für ein Encoding verwendet?
- Wo sehe ich, welches Encoding ich verwende? Im Code wohl nicht auf den ersten Blick, wahrscheinlich in der Web.Config? Im Code betrachte ich nur die this.ClientQueryString Property.
Ansonsten habe ich keine spezielle Encoding-Einstellungen eingestellt. Würde ein Auszug aus der Webconfig helfen?
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 25. November 2010 09:47 Korrektur
-
Hallo Giuseppe,
- Ist es relevant, was der Partner für ein Encoding verwendet?
- Wo sehe ich, welches Encoding ich verwende? Im Code wohl nicht auf den ersten Blick, wahrscheinlich in der Web.Condig? Im Code betrachte ich nur die this.ClientQueryString Property.
Ansonsten habe ich keine spezielle Encoding-Einstellungen eingestellt. Würde ein Auszug aus der Webconfig helfen?
Wenn dort etwas steht ja (<globalization> Node). Ansonsten dürfte es UTF-8 sein, zumindest wäre das die Standardeinstellung. Das kann aber auch anders sein und hängt von mehreren Faktoren ab.
http://msdn.microsoft.com/de-de/library/hy4kkhe0.aspx
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Giuseppe Crescimanno Donnerstag, 25. November 2010 10:08