steffen: Umlaute Problem

Hallo Forumleser,

jetzt habe ich leider ein Problem und komme einfach nicht dahinter :(

Undz war habe ich ein Forumlar und möchte dort htmlentinies drüber hauen, dass die Umlaute umgewandelt werden.

Jetzt kommt leider so etwas dabei raus:

aäöü�

Wenn ich eine festgelegte Variable mit Umlauten umwandel, klappt es.

Nun frage ich mich natürlich, wie ich es schaffe, dass ich die Umlaute umwandeln kann.

Weiß jemand wo mein Problem liegt? Meine Vermutung nach wird es in dem Formular kodiert?

Danke für eure Hilfe

Steffen

  1. hi,

    Weiß jemand wo mein Problem liegt? Meine Vermutung nach wird es in dem Formular kodiert?

    Das ist richtig, sofern das Formular per Submit zum Server geschickt wird, haben die Zeichen der Eingabe genau die Kodierung, in der das Formular an den Browser ausgeliefert wurde.

    Hoddi

    1. Hallo Hoddi,

      Danke Dir :) musste nur ein charset bei htmlentities angeben :)

      Steffen

  2. Hello,

    jetzt habe ich leider ein Problem und komme einfach nicht dahinter :(

    Undz war habe ich ein Forumlar und möchte dort htmlentinies drüber hauen, dass die Umlaute umgewandelt werden.

    Wozu willst Du die Umlaute als Entities darstellen lassen?

    Wenn Du (dein Server) die Codierung ISO 8859-1 benutzt, sind für alle deutschen Umlaute Codepoints vorhanden. Du musst also nix umwandeln, sondern nur konsequent arbeiten. Sowohl dein Edito, als auch dein Übertragungsprogramm als auch dein Server als auch die Meta-Angaben im Dokument (wenn sei benutzt werden, was ich empfehle)  müssen alle dieselbe Codierung ausweisen und benutzen.

    Jetzt kommt leider so etwas dabei raus:

    aäöü�

    Außerdem wird vermutlich eine Verwendung der Funktion htmlspecialchars() notwendig sein, um die Ausgabe im HTML-Kontext vorzubereiten.
    Siehe: http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hello,

      Wenn Du (dein Server) die Codierung ISO 8859-1 benutzt,

      und den zweiten Teil ahbe ich glatt vergessen, hinzuschreiben.
      Wenn Du nämlich als Codierung UTF-8 benutzt, ebenfalls konsequent in der ganzen Kette, dann kannst Du noch viel mehr zeichensarstellen lassen. Die paar deutschen Umlaute haben auf jeden Fall einen Codepoint im Umfang des Zeichensatzes.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hallo Tom vom Berg,

        dachte mir halt sei seltsam, dass die Zeichen im phpMyAdmin nicht korrekt dargestellt werden.

        Dachte mir dann, dass es in lesbarer Form einfacher wäre. Aber nun lass ich das ganze einfach so :) Arbeite nur mit UTF-8.

        Danke dir!

        1. Hi!

          dachte mir halt sei seltsam, dass die Zeichen im phpMyAdmin nicht korrekt dargestellt werden.
          Dachte mir dann, dass es in lesbarer Form einfacher wäre. Aber nun lass ich das ganze einfach so :) Arbeite nur mit UTF-8.

          Es bringt in der Regel nichts, Probleme durch unüberlegte Handlungen beseitigen zu wollen. Wenn du im phpMyAdmin Mist siehst, hast du vermutlich dem MySQL nicht gesagt, welche Kodierung du verwendest. Dann kann selbiges nur Mist interpretieren und den Anwendungen, die es richtig machen, auch nur Mist weitererzählen. Schau mal auf SELFHTML-Wiki Themen:Zeichencodierung mindestens den Abschnitt über MySQL an.

          Lo!

  3. @@steffen:

    nuqneH

    jetzt habe ich leider ein Problem und komme einfach nicht dahinter :(

    Undz war habe ich ein Forumlar und möchte dort htmlentinies drüber hauen, dass die Umlaute umgewandelt werden.

    Dein Wunsch ist dein Problem.

    Es ist überhaupt nicht sinnvoll, die richtigen Zeichen durch Entity-Referenzen zu ersetzen. [ESCAPES]

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
  4. Moin!

    Vielleicht liegt es daran:

    <?php echo '"'.htmlentities($_REQUEST['text'],ENT_COMPAT,'UTF-8').'"'.; ?>

    oder Du liest folgenden Artikel: Why shouln't I use htmlentities?

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix