Ankündigung

Einklappen
Keine Ankündigung bisher.

Umlaute...

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umlaute...

    Hallo,
    Ich habe ein Skript geschrieben, das eine Benutzereingabe in eine Datenbank schreibt. Lokal mit einem XAMPP-Server auf Windows funktioniert das auch Problemlos.
    Wenn ich es allerdings auf einen Linux-Server lade werden die Umlaute aus einem Text nicht richtig in die Datenbank geschrieben (Nur irgendwelche Sonderzeichen).
    Meine erste Vermutung, die Online-Datenbank unterstützt keine Umlaute, doch in phpMyAdmin kann ich problemlos umlaute eintragen.

    Daraufhin habe ich folgenden kurzen Testscript geschrieben:
    PHP-Code:
    <form method="POST">
    <input type="text" name="input"><input type="submit">
    </form>
    <?php
    if (isset($_POST['input'])){
        @
    mysql_connect('localhost''root''passwort') OR mysql_connect('localhost''root'''); // Online (mit passwort) und offlinetauglich
        
    mysql_select_db('test');
        
    $tmp $_POST['input']; // in Variable speichern, um auszuschließen, dass php die Umlaute speichern kann.
        
    mysql_query('insert into tabelle(wert) values("'.$tmp.'")');
        
    mysql_close();
    }
    ?>
    Es funktioniert.
    Da der richtige Script aber größer ist weiß ich nicht, wo ich suchen soll. Hat jemand von euch eine Idee dazu?

    Zusammenfassung:
    Kurzscript: online + offline keine Fehler
    Langes Script: offline keine Fehler, online Falsche zeichen für die Umlaute.

    edit: htmlspecialchars, htmlentities möchte ich ungern benutzen
    Water Wars - Jetzt anmelden: http://waterwars.de


  • #2
    Welche Zeichencodierung wird bei Dir lokal und beim Webserver angegeben?

    Kommentar


    • #3
      Bei beiden (ich hoffe das ist die richtige Angabe):
      Zeichensatz / Kollation der MySQL-Verbindung: utf8_general_ci

      Bei den ganzen Tabellen steht bei phpMyAdmin: Kollation: latin1_general_ci
      Water Wars - Jetzt anmelden: http://waterwars.de

      Kommentar


      • #4
        Und welche Codierung wird dem Browser angezeigt?
        Am besten im Browser selbst kontrollieren. Welchen benutzt Du?

        Kommentar


        • #5
          Ich habe nun festgestellt, dass es offenbar NICHT an mysql liegt, bei einem codieren der texte steht zum beispiel folgendes in der Tabelle:
          Code:
          ist doch selbstverst&Atilde;&curren;ndlich!
          Die kryptischen Zeichen kommen also schon irgendwie so bei php an.
          Ich bin trotzdem für jede weitere Idee dankbar, da wie gesagt, ein minimaler Script funktioniert hatte...

          gruß, Jan
          Water Wars - Jetzt anmelden: http://waterwars.de

          Kommentar


          • #6
            Fragen beachten:
            Zitat von Bruchpilot
            Und welche Codierung wird dem Browser angezeigt?
            Dein Problem sollte damit wohl gelöst sein...

            Kommentar


            • #7
              Zitat von karl-150
              Fragen beachten:
              Zitat von Bruchpilot
              Und welche Codierung wird dem Browser angezeigt?
              Dein Problem sollte damit wohl gelöst sein...
              Ich habe diese beachtet und mit der Aussage, das es schon falsch in der Datenbank steht diese (wenn nicht das Absendeformular gemeint ist, wovon ich ausgehe) unwichtig gemacht.

              Ich habe nun auch den Fehler gefunden. Es lag an der verwendung von htmlentities ohne Angabe eines Zeichensatzes. Mit
              htmlentities ( string string , int quote_style , "UTF-8" )
              hat es geklappt. Ich bin mir allerdings nicht sicher ob das immer stimmt.
              Water Wars - Jetzt anmelden: http://waterwars.de

              Kommentar


              • #8
                Zitat von JK
                edit: htmlspecialchars, htmlentities möchte ich ungern benutzen
                Zitat von JK
                Ich habe nun auch den Fehler gefunden. Es lag an der verwendung von htmlentities ohne Angabe eines Zeichensatzes
                supi

                Kommentar

                Lädt...
                X