MySQL - Umlaute?

  • Hallo,
    ich bin gerade bei VideoWorkshop DVD 5 MySQL Datenbank und mir fällt auf, dass bei 'testadressen.txt' keine Umlaute beinhaltet.
    Gibt es hinsichtlich der Umlaute irgendwelche Probleme?
    Lg.
    8) adolpho

  • Nein - die Testadressen sind wirklich fiktive Adresse mit einem Tool generiert, das ein Amerikaner programmiert hat
    (und daher keine Umlaute :). Umlaute sind i.d.R. keine Probleme (höchstens man tobt sich mit den falschen Zeichensätzen aus - sprich bei PHP/HTML UTF8 und die MySQL-Datenbank auf ISO-8859-1 oder andersherum (und baut dadurch Chaos;)).


    Thats it
    Axel

  • Hallo Axel,
    danke.


    Vor ca. 2 Jahren habe ich irrtümlich die DB von meinen Online-Shop gelöscht und es mit der letzten Backup-Datei wieder hergestellt. Leider wurden die Umlaute und das scharfe ß mit dem Zeichen '?' ersetzt.


    Mit dem Code

    SQL
    SELECT entry_street_address FROM `address_book` WHERE entry_street_address = '?'


    oder

    SQL
    SELECT entry_street_address FROM `address_book` WHERE entry_street_address = '*?*'


    oder

    SQL
    SELECT entry_street_address FROM `address_book` WHERE entry_street_address = '%?%'


    wollte ich diese Zeilen auslesen, aber leider ohne Erfolg.


    Wie müßte der Befehl lauten, damit ich alle Zeilen auslesen kann, welches das '?' beinhaltet?


    Lg.
    :) Adolpho

  • Hallo,
    ich verwende Onlineshop Software by Gambio.de, eCommerce Engine © 2004 xt:Commerce.
    über den vorhanden Datenbank Manager erstellt man die Backup-Datei und der Zeichensatz '?' schreibt sich anstatt der Umlaute von selbst hinein.
    Testweise hatte ich eine Backup-Datei direkt über meinen phpMyAdmin (Webserver) exportiert und hier hat es problemlos funktioniert, d. h. alle Umlaute und das scharfe ß sind vorhanden.


    Bei der Lektion 22 (DVD 5) wo man den Nachnamen mit dem Anfangsbuchstaben 'C' auslesen kann, funktioniert auch nicht richtig.


    SQL
    SELECT `anrede`,`nachname`, `vorname`, `geburtsdatum` FROM `testadressen` WHERE nachname = 'C'


    Hier erhalte ich folgende Meldung: MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen). ( die Abfrage dauerte 0.0018 sek. )


    Lg.
    :P Adolpho

  • Ah-ha!
    Ich werde nächstes Jahr meinen Online-Shop sowieso aktualisieren und hoffe, dass es richtig funktioniert.
    Für mich wäre es wichtiger zu Wissen, wie ich nach einzelen oder mehrere Zeichen z. B. *ch* auslesen kann.
    Lg.
    :D Adolpho

  • SQL
    SELECT `anrede`,`nachname`, `vorname`, `geburtsdatum` FROM `testadressen` WHERE nachname = 'C'


    wird hier nicht der nachname ausgewählt der gleich 'C' ist?


    ich glaube du möchtest alle nachnamen die mit 'C'


    brauchst du da nicht einen platzhalter?


    gruß
    peter

  • Hallo Peter,
    weis ich nicht. Im Video-Workshop wurde kein Platzhalter verwendet. Wie sollte der Platzhalter den aussehen? Hier würden wir der Sache näher kommen.
    Lg.
    :wink: Adolpho

  • Bei MySQL wie folgt:


    PHP
    <span class="syntaxdefault"><br />  $sql </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SELECT id FROM tabelle WHERE benutzername LIKE 'C%';"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span>


    Das % ist der Platzhalter, es würden alle Benutzer ausgelesen werden die mit C beginnen (Ch, Carl, Cocosnuss).

  • Super! ... und warum funktioniert es nicht?


    Nachtrag!


    Inzwischen bin ich im Netz fündig geworden.
    Es funktioniert angeblich nur mit LIKE!


    SQL
    SELECT `anrede`,`vorname`,`nachname` FROM `testadressen` WHERE `nachname` LIKE 'C%'


    Also, mit LIKE funktioniert es.


    Lg.
    :P Adolpho

  • Nein, auch MySQL-Befehle muss man mit einem Semikolon beenden. Zumindest wenn in der Query noch ein weiterer Befehl folgt.
    Da hier aber nur ein Befehl ist, ist das Semikolon nicht unbedingt notwendig.

  • Wenn ihr in PHP nur einen Befehl schreibt und den PHP Tag dann schließt setzt ihr auch ein Semikolon richtig? Genau so ist es bei MySQL,


    MySQL Syntax wird leider in 90% der Fälle ignoriert, wobei die Programmierer da selbst Schuld haben, SQL ist sehr locker geschrieben und man kann es selbst extrem modifizieren, würde es nur einen Weg geben bestimmte Dinge zu lösen wäre die Fehleranfälligkeit fast 0.


    Also bitte IMMER mit Semikolon beenden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!