snorri: Tschechische Sonderzeichen ...

Hallo!

Ich muss ein Formular bauen, das auch tschechische und polnische Sonderzeichen akzeptiert und in eine mySQL-Datenbank schreibt. Das geht so ohne weiteres wohl nicht, einige abgefahrenere Zeichen werden in umgedrehte Fragezeichen und ähnliches umgewandelt.

Ich habe mal mit einer lokalen Installation von phpBB herumgespielt, das kann mit diesen Zeichen umgehen. Allerdings zeigt ein Blick in die Datenbank, dass phpBB die Zeichen in der Form "{" speichert. Gibt es eine PHP-Funktion, die das für mich macht? Und auch wieder rückgängig, zum editieren von vorhandenen Datenbankinhalten?

-- snorri

  1. Hi,

    Gibt es eine PHP-Funktion, die das für mich macht? Und auch wieder rückgängig, zum editieren von vorhandenen Datenbankinhalten?

    htmlentities() bzw. html_entity_decode().

    Im Handbuch nur sehr schwer zu finden, gell?

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hallo Cybaer,

      na, soooo blind bin ich auch wieder nicht ;)

      htmlentities() beherrscht nur einen Teil der erforderlichen Sonderzeichen (kann man sich mit get_html_translation_table() ausgeben lassen). So gibt es beispielsweise kein "ż" (ein z mit einem Punkt drüber) und auch nicht das "ł" (durchgestrichene l), das im Polnischen sehr häufig ist.

      Ausserdem maskiert mir htmlentities() auch HTML-Codes, die in dieses Formular zu allem Überfluss auch noch eingegeben werden müssen.

      Ich habe auch schon versucht, den Zeichensatz umzustellen auf:
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
      Leider funktionieren dann die spanischen Zeichen nimmer :(

      -- snorri

      1. hi,

        Ich habe auch schon versucht, den Zeichensatz umzustellen auf:
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
        Leider funktionieren dann die spanischen Zeichen nimmer :(

        wenn du "alles in einem" haben willst, stelle auf unicode um.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi wahsaga,

          wenn du "alles in einem" haben willst, stelle auf unicode um.

          Da Unicode generell der verwendete Zeichensatz ist, wüsste ich nicht, wie man darauf umstellen könnte.

          Du meinst die Codierung UTF-8?

          Live long and prosper,
          Gunnar

          --
          „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
      2. Hi,

        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

        Das dürfte PHP auch ziemlich egal sein (dem Browser hingegen wohl weniger). Dort stellt man den Zeichensatz mit setlocale() um.

        Leider funktionieren dann die spanischen Zeichen nimmer :(

        Tja nun, s. Wahsaga. Man kann nicht alles haben - wenigstens nicht, ohne es einzustellen. =;-)

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!