Hallo, Sven,
Alle mb-Funktionen haben einen Parameter, der das anzunehmende Encoding angibt. Wenn man den nicht jedesmal explizit angibt, wäre mindestens das mb_internal_encoding zu definieren.
Okay, habe ich eingebaut:
@mysql_query( "SET NAMES 'utf8'", $conn_id );
header('content-type: text/html; charset=utf-8');
mb_internal_encoding("UTF-8");
Ansonsten bauen deine mb_strtolower() aus dem "ü" nämlich ein kleingemachtes ISO-8859-1-Ersatzzeichen, weil ISO-8859-1 evtl. Standardencoding ist.
Nun gibt es zwar keine Fehlermeldung mehr, aber es werden Treffer gedunden, die gar kei ü beinhalten.
Kalle