Mailinglisten-Archive |
Moin! Ich überlege gerade, wie man es anstellen kann, Daten vom Benutzer einzulesen, abzuspeichern und dann hinterher anderen Benutzern so wieder anzuzeigen, wie der "Eingeber" sie eingegeben hat. Und zwar sehe ich das Problem der Gestalt, das die Zeichen ja in einem beliebigen Zeichensatz ankommen können und die "Leser" womöglich diesen Zeichensatz nicht gebrauchen können. Genauer gesagt, überlege ich, was passiert wenn ein UTF-8 User ein "Sonderzeichen" (z.B. ä) eingibt, und ein iso-8859-1 User dieses angezeigt bekommt. Der iso-8859-1 User kann dann ja das UTF-8 ä nicht korrekt interpretieren, sofern die Seite nicht angibt, das nun UTF-8 Zeichen kommen. Um dieses Problem zu lösen, dachte ich nun daran, die eingegebenen Daten in einem einheitlichen Format zu speichern. Hierfür würden sich ja die iconv Funktionen anbieten. Allerdings muß ich für iconv() ja wissen, in welchem Zeichensatz die Daten ankommen. Und hier komme ich nicht weiter, da mir irgendwie nicht einfällt, wie ich dies wohl erfahren könnte, wenn der User die Daten per <form method=get> oder post übermittelt hat. Im Prinzip würde ich mir vorstellen die Daten aus dem Zeichensatz des "Eingebers" in einen allgemeinen Zeichensatz zu konvertieren, also z.B. UTF-8. Für die Ausgabe würde ich mir dann vorstellen, den in UTF-8 vorliegenden Text einfach so auszugeben, und natürlich per header('Content-Type: text/html; charset=utf-8'); angeben, das die Daten in UTF-8 kommen. Oder wären hier irgendwelche Probleme zu erwarten? Grob würde dieses "Programm" dann laufen: <?php // Eingabe: $in_charset = "iso-8859-15"; $out_charset = "utf-8//TRANSLIT"; $eingabe = "Text in iso-8859-15"; $text = iconv($in_charset, $out_charset, $eingabe); // $text in DB speichern ?> Und: <?php // Ausgabe: // $text aus DB lesen header('Content-Type: text/html; Charset=utf-8'); echo $text; ?> Für sachdienliche Hinweise wäre ich dankbar! ;) Alexander Skwar -- How to quote: http://learn.to/quote (german) http://quote.6x.to (english) Homepage: http://www.iso-top.de | Jabber: askwar_(at)_charente.de iso-top.de - Die günstige Art an Linux Distributionen zu kommen Uptime: 1 day 5 hours 58 minutes
php::bar PHP Wiki - Listenarchive