Hilfe ich dreh gleich durch

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

  • Hilfe ich dreh gleich durch

    Hallo Leute!

    Ich habe eine seite von der Datensätze aus einer Datenbank abgefragt werden soll.
    Ich hab schon wieder ein Problem mit den Umlauten aber diesmal
    wenn ich ein Wort eingeben will mit einem Umlaut darin bekomme
    ich keinen Datensatz angezeigt bzw. die Meldung das kein
    Datensatz vorhanden ist! Ich habe eine Funktion mit der Umwandlung
    der Umlaute in HTMLCode und anderes herum. Die funktioniert
    auch aber nur wenn ich ein Wort suche wie z.b. "Peter" dann bekomme
    ich logischer weiße alle "Peter" Datensätze angezeigt und wenn
    Umlaute darin vorhanden sind diese auch (z.b. Peter Möller)
    Wenn ich aber jetzt nach Möller suche sagt er mir er findet keine DS. Ich habe meine Code lieber mal in eine Datei gepackt weils
    doch etwas mehr ist!

    Könntet ihr bitte bitte mal schauen ob ihr ne Idee habt ich brauche
    dringend eine Lösungen

    vielen Dank
    Gillz
    Angehängte Dateien

  • #2
    Also eine Abfrage nach "%Möller%" klappt bei mir, sofern in der Datenbank auch "Möller" (ohne umgewandelte Umlaute) steht.

    Ist nun die Frage, wie und wo du deine Umlaute wandelst?

    Generell würde ich die Umlaute direkt eintragen und dann erst bei der Ausgabe für HTML in "Möller" wandeln.
    Immer erst mal gucken, ob Benzin im Tank ist ...

    Kommentar


    • #3
      und wie wandel ich die Umlaute dann direkt um?
      ja die abfrage macht er bei mir auch nur den Datensatz dazu
      holt er nicht

      vielen Dank für die Mühe

      Gillz
      Zuletzt geändert von ; 28.05.2002, 16:08.

      Kommentar


      • #4
        Hast du mal mit in die Datenbank geschaut, wie die Umlaute dort drin stehen?

        Beispiel zum Umwandeln nach dem Auslesen:
        PHP-Code:
        $suchbegriff "Möller";

        $search  = array ("/ö/","/Ö/","/ä/","/Ä/","/ü/","/Ü/","/ß/");
        $replace = array ("ö","Ö","ä","Ä","ü","Ü","ß");

        $sql "SELECT * FROM tabelle WHERE nachname like '%$suchbegriff%' " ;
        $result mysql_query($sql);
        while (
        $row mysql_fetch_array($result)) {
          
        $nachname preg_replace($search,$replace,$row[nachname]);
          
        $vorname preg_replace($search,$replace,$row[vorname]);
          echo 
        $nachname."<br>";
          } 
        Immer erst mal gucken, ob Benzin im Tank ist ...

        Kommentar


        • #5
          Ich weiß ja nicht ... ich würd's mit string htmlentities ( string string [, int quote_style [, string charset]]) versuchen
          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
            Goth, hast recht, wo habe ich nur meine Rübe.
            Irgendwie hatte ich nur noch preg_replace() vor Augen, weil ich im gleichen Moment bei mit dem Ding zu tun hatte.
            Immer erst mal gucken, ob Benzin im Tank ist ...

            Kommentar


            • #7
              Du glaubst gar nicht wie oft ich die Pommes schon erfunden habe ...
              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


              • #8
                erst mal danke @mkjack und @goth

                Das was ihr mir da zeigt das geht ja auch "include(function.php)";
                ist meine Funktion in der die Umlaute umgewandelt werden
                also entweder ich verstehe das nicht was ihr meint oder ihr
                versteht das nicht richtig wenn ich auf der suchen.html
                jetzt was eingebe mit umlauten dann bekomme ich generell keine
                Datensätze angezeigt wie mache ich das??????????
                Ich bin eben ein newbie ich ich brauch alles Idiotensicher erklärt
                sorry

                danke
                Gillz

                Kommentar


                • #9
                  Ein einfach Beispiel, wie du einen Datensatz MIT Umlaut direkt in die Datenbank schreibst und nach dem Auslesen mit htmlentities() (gruß an goth ) umwandelst.
                  Vielleicht hilft dir das ja bei deiner Fehlersuche.
                  PHP-Code:
                  <?
                   $host          = "xxxxxx";
                   $user          = "xxxxxx";
                   $password      = "xxxxxx";
                   $datenbankname = "xxxxxx";

                   $db = mysql_connect($host,$user,$password); 
                   mysql_select_db($datenbankname,$db); 

                   $eintrag_nachname = "Möller";
                   $eintrag_vorname = "Peter";

                   // Eintrag mit Umlaut
                   $sql  = "INSERT INTO tabelle SET "; 
                   $sql .= "nachname='$eintrag_nachname', ";
                   $sql .= "vorname='$eintrag_vorname' " ;
                   mysql_query($sql);

                   // Auslesen und DANACH mit htmlentities() wandeln
                   $sql = "SELECT * FROM tabelle WHERE nachname like '%Möller%' ";
                   $result = mysql_query($sql);
                   while ($row = mysql_fetch_array($result)) {
                     echo htmlentities($row[nachname]).", ";
                     echo htmlentities($row[vorname])."<br> \n";
                     }
                  ?>
                  Immer erst mal gucken, ob Benzin im Tank ist ...

                  Kommentar


                  • #10
                    Ruf mal mit phpMyAdmin SHOW VARIABLES auf und schau' mal nach was da bei 'character_set' steht ... sollte eigentlich auf 'german1' stehen ...
                    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


                    • #11
                      Erst mal wieder danke

                      @mkJAck also so wie du mir das beschreiben hast habe ich das
                      ja auch nur das ich nicht die Daten alle einlesen weil da
                      die Datenbank ja schon besteht (ca. 12000 DS und wenn ich die
                      alle umänder werd ich blöde!)
                      Kann es daran liegen das die Daten aufm Macserver liegen?

                      @goth

                      das müsste ich mir erst runterladen ich hab son komisches Progi
                      das nennt sich Navicat

                      Gillz

                      Kommentar


                      • #12
                        Dann schreib doch einfach ein kleines Script was das Ergebnis von SHOW VARIABLES (wie bei einer normalen Query) zurückgibt.
                        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

                        Lädt...
                        X