Armin: nach post übergabe nur �����

Hallo, ich habe ein Formular über das ich eine Textvariable sende. anschliessend kommen leider nucr Sonderzeichen herraus.

.
<meta charset="utf-8">
.
.
.

<form action="suche.html" method=post>
<input type="text" name="suche">
<input type="submit" >
</form>

nach der Übergabe kommt: �����

mb_detect_encoding($string); sagt utf8.

Was mache ich da den Falsch.

Armin

  1. Tach!

    ich habe ein Formular über das ich eine Textvariable sende.

    Variablen senden? Was genau meinst du. Variablen existieren nur in deinem Script. Von und zum Browser gibt es nur Text. Ob du den aus einer Variable liest oder in eine schreibst, ist nicht weiter relevant. Relevant ist nur, was das für ein Text ist. Wie wird er erzeugt? Ist er dabei so zeichenkodiert, wie für den Empfänger angegeben wurde?

    anschliessend kommen leider nucr Sonderzeichen herraus.

    Anscheinend nicht.

    nach der Übergabe kommt: �����

    mb_detect_encoding($string); sagt utf8.

    Lass dir mal den Inhalt mit bin2hex() anzeigen, oder besser noch mit urlencode(), das lässt die lateinischen Grundbuchstaben unangetastet. Ziel ist, die Bytes der Zeichen zu sehen, um daraus Rückschlüsse zur Kodierung ziehen zu können.

    Andererseits ist die Lösung für das Problem generell, die Angaben zur Zeichenkodierung korrekt zu setzen und auch den Inhalt dementsprechend zu kodieren. Das muss man an allen Stellen tun, wo Daten von einem System in ein anderes übergeben werden.

    Da das ein Thema ist, das sich ohne grundlegendes Wissen lediglich zufällig richtig verhält, verweise ich mal auf Grundlagenliteratur: Wiki-Seite zur Zeichenkodierung. In der Einleitung sind weitere Seiten verlinkt, die sich mit den Details für die im Web verwendeten Dinge beschäftigt.

    dedlfix.

    1. also wenn ich urlencode anwende wird aus München m%C3%BCnchen.

      1. Tach!

        also wenn ich urlencode anwende wird aus München m%C3%BCnchen.

        Sieht also nach einem korrekt UTF-8-kodiertem ü aus.

        dedlfix.

  2. Hallo Armin,

    <form action="suche.html" method=post>
    <input type="text" name="suche">
    <input type="submit" >
    </form>
    

    Das hat mit deinem Problem zwar nichts zu tun, aber für die Suche gibt es den input-Typ search und statt eines submit-input solltest du lieber einen submit-button verwenden. https://blog.selfhtml.org/2015/02/09/input-oder-button-fuer-submit-elemente/

    Bis demnächst
    Matthias

    --
    Rosen sind rot.
    1. @@Matthias Apsel

      <form action="suche.html" method=post>
      <input type="text" name="suche">
      <input type="submit" >
      </form>
      

      Das hat mit deinem Problem zwar nichts zu tun, aber für die Suche gibt es den input-Typ search und statt eines submit-input solltest du lieber einen submit-button verwenden. https://blog.selfhtml.org/2015/02/09/input-oder-button-fuer-submit-elemente/

      Und das Eingabefeld braucht selbstverständlich eine Beschriftung! Und der Button auch!

      Und eine ARIA-Rolle gibt’s auch für eine Suche:

      <form role="search" action="suche.html" method="post">
      	<label for="suche">Suche nach:</label>
      	<input type="search" name="suche" id="suche"/>
      	<button>Suchen</button>
      </form>
      

      Label und Button-Text kann man visuell verstecken.

      Was auch gehen sollte:

      <form role="search" action="suche.html" method="post">
      	<label for="suche">Suche nach:</label>
      	<input type="search" name="suche" id="suche" aria-label="Suche nach:"/>
      	<button aria-label="Suchen"></button>
      </form>
      

      LLAP 🖖

      --
      “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
      1. Hi,

        <form role="search" action="suche.html" method="post">
        	<label for="suche">Suche nach:</label>
        	<input type="search" name="suche" aria-label="Suche nach:"/>
        	<button aria-label="Suchen"></button>
        </form>
        

        geht das label-for-Attribut jetzt auch auf das name-Attribut des inputs?

        cu,
        Andreas a/k/a MudGuard

        1. @@MudGuard

          geht das label-for-Attribut jetzt auch auf das name-Attribut des inputs?

          Natürlich – nicht.

          Ich hatte da doch noch eine ID rumzuliegen … Huch, wie ist die denn unter den Tisch gefallen?

          Im Posting berichtigt. Danke.

          LLAP 🖖

          --
          “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory