kostenloser Webspace werbefrei: lima-city


Was verkraftet MySQL?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.

    Hi,

    ich habe im Moment ein Problem mit dem Befehl "htmlentities" bzw. mein Prob h?ngt damit zusammen.
    Ich habe eine maximale L?nge f?r eine Eingabe von Benutzern und m?chte diese in der Datenbank speichern. Wenn jetzt Umlaute oder Zeichen wie "<" eingetragen werden, sollen sie mit htmlentities umgesetzt werden in die entsprechenden & auml; Zeichen etc. Es ist ja aber so, dass wenn der Benutzer 25 Zeichen zur Verf?gung hat, der String mit ersetzten Sonderzeichen viel l?nger sein kann - dann k?nnte die Varchar-Zeile in der MySQL-Datenbank nicht nur 25 Zeichen haben, sondern vielleicht 100!
    Nun die Frage: Kommt die Datenbank damit klar, wenn Zeichen wie ?, < oder % eingegeben werden? Oder muss ich vorher ersetzten lassen und dann die Zeile in der DB entsprechend gro? machen?
    Das optimalste w?re ja, dass es der DB egal ist und erst direkt vor der Ausgabe ersetzt wird- nur: Ist das m?glich?

    MfG lagerhaus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. r*x

    meiner meinung nach ist es egal ob umlaute oder sonst was enthalten sind oder ob die eintr?ge super lang sind...

    edit: mit der l?nge vergr??ert man ja eigentlich nur den speicherbedarf dass sich auf der schnelligkeit des servers auswirkt^^

    MfG r1x

    Beitrag ge?ndert am 30.12.2005 18:09 von r1x
  4. benutz doch einfach nicht char sondern text, da musst du nicht angeben wie viele zeichen maximal und es k?nnen mehr als 255 sein
  5. mach doch sp?ter beim auslesen aus der datenbank das htmlentitie hin und l?sst umlaute und so einfach in die datenbank speichern.
  6. c*********c

    Warum ?berpr?fst Du nicht der Einfachheit halber, ob der Benutzername (oder was auch immer) Deinen Anforderungen entspricht. Somit w?re Dir eine Formatierung des Benutzernamens bei jedem Auslesen erspart ...
  7. Autor dieses Themas

    lagerhaus

    Kostenloser Webspace von lagerhaus

    lagerhaus hat kostenlosen Webspace.



    freaky schrieb:
    benutz doch einfach nicht char sondern text, da musst du nicht angeben wie viele zeichen maximal und es k?nnen mehr als 255 sein


    Das ist nicht mein Problem.



    jpaket schrieb:
    mach doch sp?ter beim auslesen aus der datenbank das htmlentitie hin und l?sst umlaute und so einfach in die datenbank speichern.

    Das ist meine Frage, aber bist du dir sicher, dass die Datenbank die Umlaute etc. richtig speichert und ausgibt?



    compactdisc schrieb:
    Warum ?berpr?fst Du nicht der Einfachheit halber, ob der Benutzername (oder was auch immer) Deinen Anforderungen entspricht. Somit w?re Dir eine Formatierung des Benutzernamens bei jedem Auslesen erspart ...

    Es sind ja Eingaben, die gestattet sind. Es ist nur die Frage, ob eben die Datenbank die Umlaute kapiert - oder ob ich vorher formatieren muss.

    Vor oder nach der Datenbank formatieren?
    "Versteht" die Datenbank die Sonderzeichen?

    MfG lagerhaus
  8. Ich wei? zwar jetzt nicht, ob man einer MySQL-Datenbank explizit beibringen muss, dass sie Unicode-Zeichen unterst?tzt. Aber f?hig dazu ist MySQL schon seit Version 3.23 (in etwa).

    Guckst du mal hier:
    http://dev.mysql.com/doc/refman/4.0/de/localisation.html

    Was ?berhaupt keine Probleme machen sollte, ist UTF-8, da dies ja selbst nur mit 8-Bit-Zeichen hantiert. Dazu wandelst du deinen Text einfach in UTF-8 um, bevor du ihn in der DB abspeicherst:

    http://de.php.net/manual/de/function.utf8-encode.php

    Und wenn m?glich, verzichte auf htmlentities(). Das ist eine saubl?de Funktion. Um HTML-Quellcode zu entwerten, gen?gt es, die drei HTML-Sonderzeichen zu entwerten:

    $html_neu = preg_replace( array('/&/', '/\</', '/\>/'),array('&#38;#38;', '&#38;#60;', '&#38;#62;'), $html_alt )

    Beitrag ge?ndert am 30.12.2005 19:23 von alopex
  9. c*********c



    lagerhaus schrieb:
    Vor oder nach der Datenbank formatieren?
    'Versteht' die Datenbank die Sonderzeichen?

    MfG lagerhaus


    Vor dem Eintragen in die Datenbank.

    Btw ich habe soeben gesehen, dass die MySQL standardm?ssig den ISO8859-1 Zeichensatz verwendet. Somit m?ssten Sonderzeichen wie ?/?/? richtig dargestellt werden.

    -> http://de.wikipedia.org/wiki/ISO_8859-1
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!