hawkmaster: Zeichensatz MySQL umstellen

Beitrag lesen

Hi dedlfix,
erst einmal vielen Dank für deine Hilfe:

Mein Problem mit PhpMyAdmin war wie folgt:

Ich habe eine PHP Seite mit einem User Login Bereich.
Der User gibt seinen Namen und Passwort ein und wird dann auf die Hauptseite geleitet.
Das Passwort ist als Spalte "pwd" mit Varchar(250) in einer MySQL DB gespeichert. Als Zeichensatz habe ich den Default "latin1_swedish_ci"
Das Passwort wird verschlüsselt abgelegt.

Alles ist in Ordnung bis auf den Fall wenn man mit PhpMyAdmin die MySQL User Tabelle öffnet, in irgend einer anderen Spalte etwas ändert und dann wieder speichert.
Dann kann sich der User anschließend nicht mehr einloggen, obwohl sich rein visuell das Passwort nicht verändert hat.
Mir ist etwas weiteres aufgefallen, was vielleicht die Ursache ist.
Angenommen man ändert mit PhpMyAdmin beim User "demo1" in der Spalte "AddressField" etwas. Dann lautet der Update Befehl von PhpMyAdmin hinterher:

UPDATE user SET pwd = 'TB.·þ2d]bæø',
AddressField = 'Bochum' WHERE user.UserID =3 LIMIT 1

Es wird also auch die Spalte "pwd" geändert obwohl ja dort nichts geändert wurde.

Wenn man das Gleiche z.b. beim user "demo" macht:
dann ist der Update Befehl wirklich nur für die betroffene Spalte:
UPDATE user SET AddressField = 'Köln' WHERE user.UserID =2 LIMIT 1
Ich weiss nicht warum einmal auch noch zusätzlich die "pwd" Spalte "geupdated" wird und einmal nicht.
Vermutlich liegt aber das Passwort Prolem daran das die Sonderzeichen im Passwort anders gespeichert werden??

Im normalen Betrieb mit meiner PHP Weboberfläche passiert dergleichen  nicht.
Nochmals wegen der Umstellung auf UTF8
Angenommen ich stelle alle Tabellen, Spalten und Felder auf "UTF8" um.
Können sich die Anwender dann immer noch auf der PHP Weboberfläche im Login Bereich mit ihren alten Passwörtern anmelden?
Oder muss ich zusätzlich in meinem PHP Script noch sagen das die Verbindung zum MySQL auch über UTF8 laufen muss?

viele Grüße
hawk