also, wenn ich eine quick-and-dirty lösung wollen würde, würde ich die namen mit htmlentities() kodiert hineinschreiben (oder nachträglich durch ein script ersetzen) und sie einfach mit dieser option auch wider abfragen.
$query = "select * from user where strPassword = '$Password' AND strUserName = '".htmlentities($UserId).'";
allerdings steht dann nicht der 'reine' inhalt in der datenbank, und man müsste sich immer dran erinneren (bei einer ausgabe ausserhalb von html), dass man den namen mit der funktion html_entity_decode() zurückübersetzen muss.
hmmmmm.... ich arbeite mit ner oracle datenbank, sonderzeichn in abfragen sind da nicht wirklich ein problem. vielleicht gibts ne einstellung fürn zeichensatz bei mysql. nährers weis ich leider nit.
viel glück noch
mfg
bauchidgw