Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: ghostmw am 18.10.11 - 15:49:57

Titel: GELÖST: Webformulardaten per LS-Agent in Notes weiterverarbeiten ...
Beitrag von: ghostmw am 18.10.11 - 15:49:57
Hallo zusammen,

ich bin gerade dabei folgendes zu tun.

Ich habe ein Formular in einer html-Seite mit CharSet iso-8859-1, darin werden Daten eingegeben wie z.B. auch die deutschen Umlaute.

Als Aktion wird auf einen LS-Agenten in Domino verwiesen.

Die test.html sieht so aus:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8">
 <meta http-equiv="cache-control" content="no-cache">

 <title>Gästebewirtung</title>
 </head>
<body>
 <form method="post" action="agTest?Open" enctype="text/plain" accept-charset="ISO-8859-1" accept="ISO-8859-1">
   <input type="text" name="action" id="action" value="saveorder"><br>
   <input type="text" name="action2" id="action2" value="blabla">
   
<input type="submit" value=" Speichern ">&nbsp;&nbsp;
</form>
</body>
</html>


Der Agent sieht so aus:

Sub Initialize
   Dim session As New NotesSession
   Dim doc As NotesDocument
   Set doc = session.DocumentContext
   
   Msgbox doc.getItemValue ( "request_content" )(0) + "<br>"
End Sub


Und das Ding bringt mir bei den Umlauten nur Hieroglyphen raus, egal was ich mache. Ein @URLDecode bringt auch nix ... irgendwie macht Domino da murks.

Die Post-Daten via FireBug sind noch ok, also kann nur Domino dran "Schuld" sein.

P.S.: Lässt man die Daten in eine Maske rauschen via ' ... aktion="meineMaske?CreateDocument" ...' stimmen die Umlaute. Was läuft hier falsch, ich verstehs nicht ...
Titel: Re: Webformulardaten per LS-Agent in Notes weiterverarbeiten ...
Beitrag von: m3 am 18.10.11 - 16:09:59
1) iso-8859-1? Hast Du was gegen das Euro-Zeichen?

2) Warum krampfhaft iso-8859-1, wenn sowohl die gesamte Webseite UTF-8 ist, als auch Domino besser mit UTF-8 kann? Nimm das iso-8859-1 Zeug mal raus und teste erneut.

3) Zeig mal den Output her, den er auf der Serverkonsole mit der MsgBox rausschreibt.
Titel: Re: Webformulardaten per LS-Agent in Notes weiterverarbeiten ...
Beitrag von: ghostmw am 18.10.11 - 17:00:20
Ok, der output ist dann folgender.

Screenshot s. File

Nicht wirklich lesbar ...
Titel: LÖSUNG: Re: Webformulardaten per LS-Agent in Notes weiterverarbeiten ...
Beitrag von: ghostmw am 19.10.11 - 08:23:52
... habs gestern Nacht gefunden.

Damit der Agent die Daten sauber bekommt, darf bei den Form-Parametern enctype NICHT auf 'text/plain' stehen, sondern entweder weggelassen werden oder auf enctype 'application/x-www-form-urlencoded'.

Man muss dann nur ein @URLDecode auf die Daten machen, nachdem man den REQUEST_CONTENT anhand des '&' Zeichen in Häppchen zerlegt hat.