[SQL allgemein] Sonderzeichen in SQL??

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

  • [SQL allgemein] Sonderzeichen in SQL??

    Hi leute, hab folgendes problem:

    versuche aus einer URL raus einen parameter in eine sql abfrage zu bringen, funktioniert auch! nur wenn dieser parameter in der URL ä, ö, ü, #, etc. hat dann funzt das ganze nicht mehr weil diese sonderzeichen umgewandelt werden! kann man dieses problem lösen, wenn ja? wie? würde mich um ein paar antworten freuen!

    danke und hier der code:


    Code:
    mysql_connect(###,###,###);
    mysql_select_db(###);
    
    $nick = basename($PHP_SELF);
    $lownick = strtolower($nick);
    
    $selectuid = mysql_query("SELECT id FROM users WHERE LOWER(nick) = '$lownick'") or die(mysql_error());
    
    if($row = mysql_fetch_array($selectuid))
    {
    	$uid = $row["id"];
    	echo "<meta http-equiv=\"refresh\" content=\"0; URL=./nickpage.php?uid=" . $uid . "\">";
    	echo "<div align=\"center\"><br><br><br><br>
    <a href=\"./nickpage.php?uid=" . $uid . "\">Du wirst weitergeleitet,
    wenn dein Browser keine Weiterleitung unterstützt, klick hier!</a>
    </div>";
    } else {
    	echo "<div align=\"center\"><br><br><br><br><span class=\"td_top\">
    <u>Es wurde kein entsprechender User gefunden!</u><br><br>
    <span class=\"fehler\">Achtung:</span> Enthält der Username Umlaute
    (ä, ö, ü), ein \"ß\" oder Sonderzeichen wie z.B. \"#\",
    kann diese Funktion leider nicht verwendet werden!</span></div>";
    }
    Zuletzt geändert von Nok1a; 15.11.2005, 16:19.

  • #2
    Re: [SQL allgemein] Sonderzeichen in SQL??

    Als allererstes löst du bitte mal das Scrollbalken-Problem.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Und dann ändere bitte das "LOWER(nick)" in ein "nick" ... weil ein MySQL Varchar per default case insensitive ist ... !
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        gesagt getan...

        @goth hmm nö dann gehts net...

        Kommentar


        • #5
          Kann nicht sein ... es sei denn Du hast kein VARCHAR verwendet ... oder dieses BINARY deklariert ... ansonsten ... :

          http://dev.mysql.com/doc/refman/5.0/...operators.html

          By default, string comparisons are not case sensitive and use the current character set (cp1252 Latin1 by default, which also works well for English).
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            unter Attribute steht BINARY, was heist das? ich habe das nicht angelegt!

            aber wie ist denn nun die antwort auf mein problem?

            Kommentar


            • #7
              Original geschrieben von Nok1a
              unter Attribute steht BINARY, was heist das? ich habe das nicht angelegt!
              RTFM
              http://dev.mysql.com/doc/refman/4.0/...nsitivity.html
              aber wie ist denn nun die antwort auf mein problem?
              Die Antwort kann nur lauten: Beschreibe bitte dein Problem detailierter!

              Du sagst beispielsweise, dass Sonderzeichen "umgewandelt" würden - aber nicht einmal, an welcher Stelle und in was.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                bei folgendem code:

                Code:
                $nick = basename($PHP_SELF);
                und folgender URL:

                Code:
                www.XLZ.de/Nickname
                würde bei einem Ü im nickname "Ãœ" rauskommen!

                Ä: "Ä"

                usw.

                Kommentar


                • #9
                  Nun ja, Sonderzeichen in einem URL müssen natürlich kodiert werden.
                  Das solltest du beim Ausgeben der Links eigentlich schon selber gemacht haben - aber wenn nicht, macht's idR. der Browser.
                  Die Kodierung sieht nach UTF-8 aus - wenn dein Script damit nicht umgehen kann, dann nimm die Kodierung selber vor - rawurlencode() sollte weiterhelfen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X