Ich entwickle einen Dienst und Sie können verschiedene Parameter zu diesem Dienst über den Parameter get senden.
Zum Beispiel:
www.example.com?query=john & location = ...
Es ist auch möglich, Umlaute zu diesem Dienst zu senden.
Ex.
www.example.com?query=müller
Mein Problem ist jetzt, dass ich keinen Einfluss haben, wie Parameter zu meinen Dienst gesendet werden, also habe ich beschlossen, es viel zu testen und entdeckt, dass, wenn Sie versuchen, es über unser internes System (das mit Sharepoint läuft) aufzurufen und wenn Sie den Internet Explorer verwenden, die Dinge merkwürdig werden. Vor allem diejenigen Parameter in etwa so aussehen, mit dem zweiten Beispiel oben:
www.example.com?query=mller
ich schon erkennen kann, wenn jemand mit IE ist, aber ich bin mir immer noch nicht sicher, wie ich dieses Problem beheben kann.
Ich habe bereits versucht, urlencode()
(und eine Menge anderer Funktionen, aber sie nicht wirklich das Ergebnis zu ändern), die m%3Fller
zurückgibt. Meine gewünschte Ausgabe wäre in diesem Fall m%C3%BCller
Ist es irgendwie möglich, dies mit meinem Service zu lösen oder ist das Problem in Sharepoint? Ich habe das Szenario bereits mit einem einfachen HTML-Formular mit allen erforderlichen Parametern als einfache Textfelder reproduziert und es funktioniert dort gut.
EDIT:
Meine gewünschte Ausgabe ist der Umlaut in der richtigen Form für eine URL (ü => %C3%BC
)
Die Frage ist, wo Sieht es so aus? Abhängig davon, wo es angezeigt wird, sollten Sie schauen, ob die Ausgabe wirklich UTF-8/Unicode anstelle von iso-8859-1 (latin1) oder einer anderen Art ist. Abhängig von Ihrem Browser (Version) könnte es auch in nicht-Unicode gesendet werden –
Es ist bereits an meinen Browser wie folgt gesendet, was bedeutet, ich bekomme nie wirklich den 'Müller', ich bekomme nur dieses anstelle des ü – PrototypeX7
Are Sie deklarieren irgendwo in Ihrer HTTP-Antwort oder auf Ihrer Seite irgendetwas in Bezug auf Zeichensätze/Kodierungen oder überlassen Sie es dem Browser, dies zu entscheiden? (Sie haben vielleicht geahnt, dass Letzteres nicht sehr produktiv ist.) – deceze