Hallo,
wenn ich mit dem Standardeditor einen Artikel schreibe, werden Leerzeichen als Pluszeichen (+) in MySQL abgespeichert. Das hat für das Modul Artikelliste zur Folge, das eine Überschift so aussieht:
Das+ist+eine+Überschrift
Ist das ein Bug oder ein Feature?
Warum speichert der Editor Leerzeichen als '+' ??
-
- Beiträge: 149
- Registriert: Sa 21. Jun 2003, 14:03
- Kontaktdaten:
Sonderzeichen in der Artikelliste
Hallo,
neuerdings werden alle Artikelinhalte "URL enkodiert", bevor sie in die Datenbank gespeichert werden.
D.h. fast alle nicht alphanumerischen Zeichen werden durch %## ersetzt, wobei ## ein Hexadezimaler Wert ist.
Leerzeichen werden durch + ersetzt.
Das Pluszeichen selbst wird auch urlenkodiert.
Damit können auch Pluszeichen im Insite-Editing editiert und angezeigt werden, die vorher immer verschwunden sind.
Das war natürlich nicht schön.
Jetzt muss aber jeder Inhalt aus der Content Tabelle, bevor er an den Bildschirm ausgegeben wird, wieder "URL kodiert" werden.
Dazu gibt's in PHP die Funktion urldecode($string)
Grüsse
neuerdings werden alle Artikelinhalte "URL enkodiert", bevor sie in die Datenbank gespeichert werden.
D.h. fast alle nicht alphanumerischen Zeichen werden durch %## ersetzt, wobei ## ein Hexadezimaler Wert ist.
Leerzeichen werden durch + ersetzt.
Das Pluszeichen selbst wird auch urlenkodiert.
Damit können auch Pluszeichen im Insite-Editing editiert und angezeigt werden, die vorher immer verschwunden sind.
Das war natürlich nicht schön.
Jetzt muss aber jeder Inhalt aus der Content Tabelle, bevor er an den Bildschirm ausgegeben wird, wieder "URL kodiert" werden.
Dazu gibt's in PHP die Funktion urldecode($string)
Grüsse

Contenido Team
Re: Sonderzeichen in der Artikelliste
Hallo,willi hat geschrieben:Hallo,
neuerdings werden alle Artikelinhalte "URL enkodiert", bevor sie in die Datenbank gespeichert werden.
D.h. fast alle nicht alphanumerischen Zeichen werden durch %## ersetzt, wobei ## ein Hexadezimaler Wert ist.
Leerzeichen werden durch + ersetzt.
Das Pluszeichen selbst wird auch urlenkodiert.
Damit können auch Pluszeichen im Insite-Editing editiert und angezeigt werden, die vorher immer verschwunden sind.
Das war natürlich nicht schön.
Jetzt muss aber jeder Inhalt aus der Content Tabelle, bevor er an den Bildschirm ausgegeben wird, wieder "URL kodiert" werden.
Dazu gibt's in PHP die Funktion urldecode($string)
Grüsse :)
mein erster Beitrag hier.
habe den "bugfix" con_type.sql.txt runtergeladen die Tabelle geleert neu eingespielt und jetzt hab ich ein "problem"
Was bitte soll mir dieser Satz sagen:
Ein kleines Mittel gegen Pluszeichen. Die Daten in der Tabelle con_type können durch diese ersetzt werden. ACHTUNG: Inhalt vorher sichern und Tabelle nicht löschen (nur Inhalte)!!! Die Datei umbenennen in 'con_type.sql'.
---> Nach dem Einspielen die höchste ID mit dem Eintrag in der con_sequence abgleichen.<---
Welche ID's sind gemeint, und wo (phpadmin) änder ich die.
danke für DEN Tip
Viele Grüsse aus München
Tobias
id in con_sequence abgleichen
Hallo,
Contenido verwendet aus DB Kompatibiltätsgründen kein "autoincrement", welches man in den Tabellen einstellen kann, sondern verwaltet das erzeugen der nächsten Id (Zeilennummer) generell über die Tabelle "con_sequnce". Wenn in irgendeiner Tabelle ein neuer Eintrag vorgenommen wird, wird die "nextid" dieser Tabelle aus der "con_sequence" geholt (und automatisch um eins erhöht).
Wenn die Tabelle "con_type" geleert und der neue Inhalt eingespielt wird, muss der höchste Wert in der Spalte "idtype" in con_type mit dem Wert in der Spalte "nextid" in con_sequence" abgeglichen werden, wobei der Wert in der Spalte "seq_name" [con_type] sein muss.
Genauer: der Wert in "nextid" (con_sequence) muss um eins höher sein, als in "idtype" (con_type).
Gruss
Willi
Contenido verwendet aus DB Kompatibiltätsgründen kein "autoincrement", welches man in den Tabellen einstellen kann, sondern verwaltet das erzeugen der nächsten Id (Zeilennummer) generell über die Tabelle "con_sequnce". Wenn in irgendeiner Tabelle ein neuer Eintrag vorgenommen wird, wird die "nextid" dieser Tabelle aus der "con_sequence" geholt (und automatisch um eins erhöht).
Wenn die Tabelle "con_type" geleert und der neue Inhalt eingespielt wird, muss der höchste Wert in der Spalte "idtype" in con_type mit dem Wert in der Spalte "nextid" in con_sequence" abgeglichen werden, wobei der Wert in der Spalte "seq_name" [con_type] sein muss.
Genauer: der Wert in "nextid" (con_sequence) muss um eins höher sein, als in "idtype" (con_type).
Gruss
Willi
Contenido Team
Re: id in con_sequence abgleichen
Hallo Willi,willi hat geschrieben:Hallo,
Contenido verwendet aus DB Kompatibiltätsgründen kein "autoincrement", welches man in den Tabellen einstellen kann, sondern verwaltet das erzeugen der nächsten Id (Zeilennummer) generell über die Tabelle "con_sequnce". Wenn in irgendeiner Tabelle ein neuer Eintrag vorgenommen wird, wird die "nextid" dieser Tabelle aus der "con_sequence" geholt (und automatisch um eins erhöht).
Wenn die Tabelle "con_type" geleert und der neue Inhalt eingespielt wird, muss der höchste Wert in der Spalte "idtype" in con_type mit dem Wert in der Spalte "nextid" in con_sequence" abgeglichen werden, wobei der Wert in der Spalte "seq_name" [con_type] sein muss.
Genauer: der Wert in "nextid" (con_sequence) muss um eins höher sein, als in "idtype" (con_type).
Gruss
Willi
AHA

da kriege ich immer :
Warning: fopen(logs/upgradeerrorlog.txt): failed to open stream: Permission denied in /home/www/web73/html/contenido/upgrade.php on line 66
Could not open file errorlog.txt in directory /home/www/web73/html/contenido
obwohl alle dateien 777 haben usw.

sorry aber bin kein PHP freak, fange gerade erst an mit den sachen und bin zugegebener massen überfordert.
tobias
-= Das Genie des Wissenden ist ohne das Genie des Verstehenden wertlos=-