SQL SELECT mit Umlauten

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

  • SQL SELECT mit Umlauten

    Hallo,

    ich habe eine kleine sql-abfrage, die mir Einträge von einer bestimmten Stadt anzeigt. Problem ist, wenn ich nach Städten mit Umlauten suche, dann erhalte ich keine Ergebnisse. Die Suche nach Städten ohne Umlauten ist aber kein Problem. Was müsste ich ändern?

    Code:
    <?php
    $host = 'xxx';
    $user = 'xxx'; 
    $pwd = 'xxx'; 
    $db = 'xxx'; 
    
    // Create connection
    $con = mysqli_connect($host, $user, $pwd, $db);
    $result = mysqli_query($con, "SET NAMES 'utf8'");
    
    // Check connection
    if(mysqli_connect_errno($con)) {
        die("Failed to connect to MySQL: " . mysqli_connect_error());
    } 
     mysql_select_db($db, $con);
     mysql_query("SET NAMES 'utf8'");
    
      $city = mysqli_real_escape_string($con, $_POST['city']);
      
      $sql = "SELECT * FROM share_offers WHERE city = '$city'";
      
      $result = mysqli_query($con, $sql);
      
      //.....
      
    ?>

  • #2
    Richtige Zeichenkodierung im HTTP-Header angeben.

    Kommentar


    • #3
      Hi,

      hat leider nicht funktioniert.

      Kommentar


      • #4
        "nicht funktioniert" ist keine Fehlerbeschreibung. Zeig was du machst.

        Kommentar


        • #5
          HTML - HEADER

          <meta http-equiv="content-type" content="text/html; charset=utf-8">

          oder was verwendest du in deinem HTML Teil ???
          fotos :

          http://www.flickr.com/photos/rassloff/collections/

          Kommentar


          • #6
            Der HTML-Header ist irrelevant. Was zählt ist der HTTP-Header.

            Kommentar


            • #7
              Versuch's mal damit:

              https://www.w3.org/International/que...ess-charset.de

              Wichtig ist natürlich, auf die durchgängige Verwendung genau eines Zeichensatzes zu achten, sonst stellt man sich leicht selbst ein Bein.

              Kommentar


              • #8
                Zitat von Sino Beitrag anzeigen
                Hallo,

                ich habe eine kleine sql-abfrage, die mir Einträge von einer bestimmten Stadt anzeigt. Problem ist, wenn ich nach Städten mit Umlauten suche, dann erhalte ich keine Ergebnisse. Die Suche nach Städten ohne Umlauten ist aber kein Problem. Was müsste ich ändern?

                Code:
                <?php
                $host = 'xxx';
                $user = 'xxx'; 
                $pwd = 'xxx'; 
                $db = 'xxx'; 
                
                // Create connection
                $con = mysqli_connect($host, $user, $pwd, $db);
                $result = mysqli_query($con, "SET NAMES 'utf8'");
                
                // Check connection
                if(mysqli_connect_errno($con)) {
                    die("Failed to connect to MySQL: " . mysqli_connect_error());
                } 
                 mysql_select_db($db, $con);
                 mysql_query("SET NAMES 'utf8'");
                
                  $city = mysqli_real_escape_string($con, $_POST['city']);
                  
                  $sql = "SELECT * FROM share_offers WHERE city = '$city'";
                  
                  $result = mysqli_query($con, $sql);
                  
                  //.....
                  
                ?>
                Versuch mal folgendes:

                PHP-Code:
                <?php

                $host 
                'xxx';
                $user 'xxx'
                $pwd 'xxx'
                $db 'xxx'
                  
                // Create connection
                $dbCon = new mysqli($host$user ,$pwd ,$db);
                  
                // Check connection
                if( $dbCon->connect_errno ) {
                    exit ( 
                "Failed to connect to MySQL: " $dbCon->connect_errno );


                // Alle via $_POST gesendeten Request escapen
                foreach( $_POST as $key => $value ){ 
                    
                $_POST[$key] = $dbCon->real_escape_string$value ); 
                }
                  
                // REQUEST in UTF-8 decodieren
                $city utf8_decode$_POST['city'] );
                  
                $sql "SELECT * FROM share_offers WHERE city = '" $city "'";
                $query $dbCon->query$sql );
                $result $query->fetch_assoc();
                  
                //Ausgabe
                $cityOutput =  $result["city"];
                echo 
                'Result: ' $cityOutput
                  
                // DB-Connection schliessen
                $dbCon->close();
                ?>
                Zuletzt geändert von dennis-spring; 30.04.2016, 10:33.

                Kommentar


                • #9
                  Müll zum Quadrat. Bitte nicht verwenden.

                  Kommentar


                  • #10
                    @sino: Du vermischst im gezeigten Code die mysql- und die mysqli-Erweiterungen.

                    Beziehungsweise hast du sinnlose mysql-Aufrufe im Code stehen.

                    Kommentar


                    • #11
                      Zitat von h3ll Beitrag anzeigen
                      Müll zum Quadrat. Bitte nicht verwenden.
                      ...???

                      Kommentar


                      • #12
                        Zitat von dennis-spring Beitrag anzeigen
                        ...???
                        Der Code hat so viele Fehler, dass die Fehlerbeschreibung so lang wär wie der eigentliche Code.

                        Kommentar


                        • #13
                          Zitat von h3ll Beitrag anzeigen
                          Der Code hat so viele Fehler, dass die Fehlerbeschreibung so lang wär wie der eigentliche Code.
                          Dann zitiere doch mal den in Deinen Augen größten Fehler...!!!

                          Kommentar


                          • #14
                            Zitat von dennis-spring Beitrag anzeigen
                            Dann zitiere doch mal den in Deinen Augen größten Fehler...!!!
                            Das ist hier der falsche Ort. Wenn du deine Code diskutieren möchtest, wäre ein neuer Thread angebracht.

                            Kommentar

                            Lädt...
                            X