kostenloser Webspace werbefrei: lima-city


Problem: Umlaute & MySQL

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    k***c

    Hallo zusammen, ich hab da mal nen ganz doofes Problem...

    Grunddaten:

    Datenbank mit Postleitzahlen und Orten
    Felder sind alle latin1_german1_ci
    Datenbank ebenfalls latin1_german1_ci

    Wenn ich nun nen Query mach, werden die Sonderzeichen falsch ausgegeben, also anstatt einem Ü ein Fragezeichen...

    Hier der verwendete Quellcode:

    @mysql_connect(MYSQL_HOST_PLZ, MYSQL_USER_PLZ, MYSQL_PASS_PLZ) OR die(mysql_error());
        mysql_select_db(MYSQL_DATABASE_PLZ) OR die(mysql_error());
    
        $sql = \"SELECT
                    *
                FROM
                    PLZ
                WHERE
                    PLZ_Alt LIKE \'%$plz%\' OR PLZ_Neu LIKE \'%$plz%\' OR Reg_Ort_Neu LIKE \'%$plz%\' OR Reg_Ort_Neu LIKE \'%$plz%\'
                ORDER BY
                    Reg_Ort_Alt DESC;\";
    
        $result = mysql_query($sql) OR die(mysql_error());
    
        echo \"Ergebnisse der Suchanfrage<br /><br /><br />\\n\\n\\n\";
        if(mysql_num_rows($result))
            {
               echo \"<table width=\'100%\' border=\'0\' cellpadding=\'0\' cellspacing=\'2\'> <tr bgcolor=\'#f2a67d\'> <th scope=\'col\'>Ort (alt)</th> <th scope=\'col\'>PLZ (alt)</th> <th scope=\'col\'>&nbsp;</th> <th scope=\'col\'>Ort (neu)</th><th scope=\'col\'>PLZ (neu)</th></tr>\";
               while($row = mysql_fetch_assoc($result))
                  {
                       if($plz_count % 2 != 0)
                       {
                          $plz_bg = $plz_bg1;
                       }
                       else
                       {
                          $plz_bg = $plz_bg2;
                       }
                      echo \"<tr bgcolor=\'#\".$plz_bg.\"\'><td width=\'150\'>\".utf8_decode($row[\'Reg_Ort_Alt\']).\"</td><td width=\'80\'>\".$row[\'PLZ_Alt\'].\"</td><td width=\'50\'> - </td><td width=\'150\'>\".$row[\'Reg_Ort_Neu\'].\"</td><td width=\'80\'>\".$row[\'PLZ_Neu\'].\"</td></tr>\";
                      $plz_count++;
    
                  }
               echo\"</table>\";
               ECHO \"<br><br>Nach einer anderen Postleitzahl oder Ort suchen:<br><br>
           <form action=\'index.php\' method=\'get\'>
           <input type=\'hidden\' name=\'option\' value=\'com_content\' >
           <input type=\'hidden\' name=\'view\' value=\'article\' >
           <input type=\'hidden\' name=\'id\' value=\'102\' >
           <input type=\'hidden\' name=\'Itemid\' value=\'124\' >
           <input type=\'text\' size=\'17\' name=\'plz\'>&nbsp;&nbsp;<input type=\'submit\' value=\'Senden\'>
           </form>\";
            }
        else
            {
    [...]


    Wie bekomm ich das geregelt, dass die Ausgabe stimmig ist und auch das Suchen nach z.B. Lübeck funktioniert?

    Dankeschön ihr lieben.


    Beitrag geändert: 25.7.2008 18:46:57 von kw04c
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo kw04c!

    Versuch mal deinen charset festzulegen:
    header(\"Content-Type:text/html; charset=ISO-8859-1\");


    Und dann schau mal was für ein charset mysql für die Datenbank verwendet.
    Vielleicht ist es auch bei der Einpflegung der Daten passiert.
    Versuch mal das ganze in UTF-8. Vielleicht klappt es dann.
    Also \"utf8_general_ci\" als collation verwenden und \"Utf-8\" als charset.

    MfG Lukas
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!