Kapitel 22
CGI-Programmierung
610
Abb. 22.6: Browserfenster mit einer dynamisch erzeugten HTML-Seite
22.5 Sonderzeichen handhaben
Wahrscheinlich haben Sie es schon gemerkt: Das CGI-Skript zur Begrüßung aus dem letz-
ten Abschnitt funktioniert nur dann richtig, wenn die eingegebenen Wörter keine Umlaute
oder sonstige Nicht-ASCII-Zeichen enthalten. Für dieses Problem gibt es zwei Ursachen,
denen Sie begegnen müssen:
Browser und CGI-Skript verwenden unterschiedliche Codierungen.
In HTML werden Nicht-ASCII-Zeichen durch besondere Zeichenfolgen dargestellt, z.B.
ö für den Umlaut ö.
Standardmäßig verwendet der Python-Interpreter die Codierung utf-8 beim Lesen eines
Python-Skriptes. Dann muss der Browser gezwungen werden, Tastatureingaben ebenfalls
mit utf-8 zu codieren.
Wenn Sie das kleine Login-Dialogsystem aus dem letzten Abschnitt zur Verarbeitung von
Umlauten befähigen wollen, fügen Sie in den HTML-Quelltext der interaktiven Webseite
aus Abschnitt 22.3.1 ein Metatag ein, in dem die Codierung spezifiziert wird:
Kommen wir nun zu dem CGI-Skript, das von der Login-Webseite aus aufgerufen wird,
wenn der Benutzer auf den Submit-Button des Formulars klickt. Dieses Skript sendet an
den Client eine HTML-Seite zurück, in der der Benutzer mit seinem Namen begrüßt wird.
Methode Erklärung
getfirst(variable)
Liefert immer einen Variablenwert (sofern die Variable existiert). Im
Falle einer Liste wird deren erstes Element zurückgegeben.
getlist(variable)
Liefert immer eine Liste von Variablenwerten. Falls die Variable
überhaupt nicht existiert, wird eine leere Liste zurückgegeben.
getvalue(variable)
Liefert den Wert einer Variablen oder eine Liste von Werten, falls
mehrere Werte dem gleichen Namen zugewiesen wurden.
keys()
Liefert eine Liste der Variablennamen.
Tabelle 22.1: Die wichtigsten Methoden von FieldStorage-Objekten
<html>
<meta http-equiv="Content-Type" content="charset=utf-8" />
<body>
...

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.