Umlaut Problem bei Suchfunktion

MsvP@habdichliebhasi

Erfahrenes Mitglied
Guten Abend zusammen.

Ich habe ein kleines Problem. Und zwar bin ich momentan dabei eine Suchfunktion zu programmieren.

Dafür habe ich eine Volltextsuche verwendet, die meine MySql Datenbank ausließt.

Die Suchfunktion selbst funktioniert auch, leider werden bei den Ergebnissen sämtlich Umlaute als "?" dargestellt.

Meine Tabelle steht auf "utf8_unicode_ci". Das sollte doch eigentlich richtig sein, oder?

Hier kommt der Php-Code:

PHP:
  <table>
   <tr>
    <td>
     <form action='index.php'>
      <input type='text' name='suchwort'><br><br>
      <input type='submit'>
     </form>
    </td>
   </tr>
   <tr>
    <td>

<?php

$suche_anfrage = mysql_db_query("isbb", "SELECT * FROM basisdaten WHERE MATCH (Einrichtung,EStrasse) AGAINST ('$suchwort')");
while ($suche = mysql_fetch_row($suche_anfrage))
{
echo"
$suche[0] $suche[3] $suche[4] $suche[1]
<hr>";

}
?> 
    </td>
   </tr>
  </table>
 
Wie meinst du das?

Vielleicht habe ich jetzt auch einfach einen Dreher im Kopf, nach sovielen Stunden rumbasteln.
Die Ausgabe sieht man doch in meinem Quellttext(?).

PHP:
echo"
$suche[0] $suche[3] $suche[4] $suche[1]

Muss ich die Ausgabe auch noch extra kodieren?
 
Setz mal folgendes an den Anfang deines Scriptes
PHP:
header('Content-Type: text/html; charset=utf-8');
 
Nein, leider immernoch das gleiche Problem. :-(

Ich verzweifel langsam. Ich komme einfach nicht drauf, woran es liegen könnte.

Wie ich gerade festgestellt habe, funktioniert auch die Suche nach Wörter, in denen Umlaute vorkommen nicht. Wenn ich z.B. nach "Pädagogik" suche findet er einfach garnichts, obwohl es mehrfach in der Tabelle enthalten ist.
 
Zuletzt bearbeitet:
Hat niemand mehr eine Idee? :-(

EDIT: Wie ich jetzt festgestellt habe, bekomme ich den Fehler auch, wenn ich eine einfache Datenbankabfrage schalte. Das müsste doch eigentlich ein Zeichen dafür sein, dass mit der Datenbank etwas nicht stimmt. Aber das komische ist, dass ich schon andere Scripts auf dem gleichen Server liegen hatte, die keinen Fehler ausgegeben haben.

Könnte es daran liegen, dass die Datenbank, die ich abfrage aus Access nach MySql konvertiert ist?

EDIT 2: OK, habs hinbekommen. Der erste Fehler lag wohl daran, dass noch ein paar Sachen in der DB nicht richtig standen und am Ende kams durch den "header('Content-Type: text/html; charset=utf-8'); " Tag.
 
Zuletzt bearbeitet:
Zurück