Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: bandit am 14.02.06 - 08:45:06
-
Ich habe hier eine Anwendung, die nicht von mir geschrieben wurden, die ein Problem bei einem Suche Formular hat. Wenn ich mit dem Durchgangs-HTML Formular Umlaute absende werden diese in Notes falsch umgesetzt. Wenn ich z.B. das Wort "über" in das HTML Formular eingebe wird in Notes darauf "%E2%96%A0ber". Die Abgesendeten Daten werden danach in einem Agenten weiterverarbeitet aber dort sind die Umlaute schon kaputt.
Ich weiss das man im Serverdokument die UTF-8 Behandlung von Formlaren deaktivieren kann, das möchte ich aber nicht, weil ich nicht weiss ob dann andere Anwendungen Probleme bekommen und ob es überhaupt hilft.
Ich habe schonmal versucht im HTML Header Bereich statt charset=ISO-8859-1 UTF-8 einzutragen und ich habe auch versucht dem HTML Formular mit "accept-charset" UTF-8 zuzuweisen. Das hat aber leider alles nichts gebracht, die wirre Zeichenfolge hat sich dabei nur ein wenig geändert, sonst hat sich nix getan.
Hat vielleicht jemand mit der Problematik Erfahrung und kann mir einen Tipp geben?
-
Hi
evtl. hilft ein @urldecode() bevor Du die Daten weitervearbeitest.
oder such mal im google nach urldecode und lotus notes
-
Das sieht für mich aus, als würden die Parameter per GET in der URL übergeben werden. Da muss der Browser die Umlaute entsprechend encoden.
Lösung: Das Submit auf Post umbauen oder wie umi geschrieben hat @urldecode einsetzten.
-
Wei holt den der Agent die Daten aus dem Formular?
-
So wie ich das hier sehe läuft das Formular schon per Post:
<label for="searchtext"><strong></strong></label>
<label for="searchtext"><strong>Suche</strong></label>
<form action="" method="post">
<input type="text" maxlength="300" name="search" id="searchtext" value="" size="20" />
<input type="submit" class="button" name="submit" value="suchen" title="Finden" />
</form>
Ich meine der Ersteller der Anwendung hat das mit dem @urldecode schon ausprobiert und es hat wohl nicht funktioniert.
-
Hab ich das richtig verstanden, dass mit "Get" die Formularinhalte als URL Parameter übertragen werden und mit "Post" halt nicht?
Das Problem mit dem URLDecode ist wohl, dass verschiedene Umlaute als ein die selbe kryptische Zeichenfolge in Notes ankommen.
-
Hab ich das richtig verstanden, dass mit "Get" die Formularinhalte als URL Parameter übertragen werden und mit "Post" halt nicht?
Korrekt.
Das Problem mit dem URLDecode ist wohl, dass verschiedene Umlaute als ein die selbe kryptische Zeichenfolge in Notes ankommen.
Wie kommst Du denn an die Zeichenfolge????
-
Wie wird den das Formulare verarbeitet....
Geht das an einen Agenten? oder wie ?
-
Ja so wie ich das sehe wird das Formular von einem Agenten als Contextdocument verarbeitet. Im WebQuerySave der Maske, die das HTML Formular enthält wird ein Agent gestartet. Der Agent holt sich die Daten als Dokument mit "Set docContext = sessCurrent.DocumentContext". In dem Agenten hat man dann schon statt der Umlaute Datenmüll.