Sonderzeichen in MySQL

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

  • Sonderzeichen in MySQL

    hallo,
    habe da ein problem mit deutschen umlauten in meiner db.
    ä,ü,ö in den datensätzen(text) sind mit den html
    sonderzeichen z.B. ü codiert.
    nun wird aber bei aufruf eines datensatzes per link
    z.B ...datenbank.php?ortsname=Sülm bzw. entsprechend
    ...datenbank.php?ortsname=Sülm die Suche abgebrochen.

    ich vermute es liegt an dem semikolon(?) welches als trennzeichen im csv (phpmyadmin) angegeben ist.
    bitte dringend um einen rat?

    danke...


  • #2
    hmm,

    bearbeite den Kram mit urlencode bzw urldecode wen du ihn übergibst.

    Kommentar


    • #3
      danke für den schnellen tip,
      nur bin ich leider noch nicht so fit in php/mysql
      um damit sofort etwas anfangen zu können.
      könntest du dies etwas genauer beschreiben....?
      danke!!!

      Kommentar


      • #4
        http://www.php.net/manual/de/function.urlencode.php
        http://www.php.net/manual/de/function.urldecode.php

        Kommentar


        • #5
          es liegt auch an dem &, da das in einer URL ein Trennzeichen ist. Mit rawurlencode() und rawurldecode() solltest du das auch lösen können.

          Kommentar


          • #6
            ... erst mal danke für die schnellen Antworten, aber ich komm trotzdem nicht wirklich weiter.
            wenn ich das richtig verstanden habe müsste die von der vorherigen seite übergebende variable
            ortsname=Sülm - auf dieser der datenbankabfrage und ausgabe dienenden seite in eine
            "verständliche" Form gebracht werden, doch wie sieht diese (variable ortsnamen) aus?
            der datenbankeintrag lautet ja auch Sülm
            hier ein auszug, mit dem versuch $ortsname zu decoden???.....

            <?
            require("config.php");
            require("config_connect.php");
            $verbindung = mysql_connect ($server, $benutzer, $kennwort);
            $ortsname = rawurldecode($ortsname);
            $result = mysql_query("SELECT * FROM ortsindex WHERE ort LIKE '$ortsname'", $verbindung);
            ?>


            gibt es nicht auch noch einen ganz anderen weg, z.B eine alternative zum ; als trennzeichen im csv?
            ich glaube irgendwie dies würde mein problem auch aus dem weg räumen!

            danke,
            mfg, crisdoe

            Kommentar


            • #7
              dann ruf doch die Datenbankabfrage anders auf:

              datenbank.php?ortsname=S%26uuml%??lm

              dabei mußt du den Ortsname mit rawurlencode() ausgeben, falls der dynamisch ausgegeben wird. Wenn nicht und das sind irgendwie feste Links, dann entweder über ein Post-Formular (codiert automatisch richtig) oder eben dir die Codierung von Hand zusammenbasteln.

              Und in datenbank.php übernimmst du die Variable dann so:

              $ortsname=rawurldecode($ortsname);

              dann steht wieder "S&uml;lm" drin.

              Kommentar

              Lädt...
              X