Mailinglisten-Archive |
Hallo Stephan,
Am Montag, 24. April 2006 13:55 schrieb Stephan Beck:
> Lutz wrote:
> > > Robert wrote:
> > > > Hallo Stephan
> > > >
> > > > Versuche mal SELECT * FROM person WHERE LOWER( username ) =
> > > > LOWER( 'username' COLLATE latin1_swedish_ci) AND PASSWORD =
> > > > PASSWORD( 'password' COLLATE latin1_swedish_ci)
> > >
> > > Die darauf folgende Fehlerausgabe:
> > > #1253 - COLLATION 'latin1_swedish_ci' is not valid for CHARACTER
> > > SET 'utf8'
> >
> > guck mal hier:
> > http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html
>
> Was mit aber leider nicht bei meinem anfangs beschriebenen Problem
> hilft: ---
> Fehlermeldung:
> #1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and
> (utf8_general_ci,COERCIBLE) for operation '='
>
> SQL-Statement:
> SELECT * FROM person WHERE LOWER( username ) = LOWER( 'username' )
> AND PASSWORD = PASSWORD( 'password' )
>
> PHP-Version: 4.3.10
> MYSQL-Version: 4.1.8
>
> Ich habe mehrere Applikationen lokal laufen.
> Nun ist bei einem Login der beschriebene Fehler aufgetreten.
> Allerdings funktioniert das gleiche Statemnet in einer anderen
> Applikation problemlos. Beide benutzen die gleiche Datenbankinstanz
> und laufen auf dem gleichen Server.
>
> Eine Eingabe des Statements in phpmyadmin 2.6.1 liefert den gleichen
> Fehler.
>
> Die 2 Felder werden in beiden Tabellen als Kollation:
> latin1_swedish_ci angezeigt.
>
> Auf einem anderen Server (PHP: 4.4.1, MYSQL: 4.0.23, phpmyadmin:
> 2.6.4) funktioniert die Abfrage im phpmyadmin, die Abfrage über meine
> Applikation wirft allerdings den gleichen Fehler.
Du müßtest mal für jede Verbindung prüfen, wie die Zeichensätze jeweils
gesetzt sind:
SHOW variables LIKE 'character_set_%';
Ich vermute, daß es da irgendwo einen kleinen, aber entscheidenden
Unterschied gibt.
Mit folgendem SQL-Befehl kannst Du den Zeichensatz für die offene
Verbindung setzen:
set character set "{Zeichensatz}";
{Zeichensatz} kann z.B. latin1 oder utf8 sein. Hilft das weiter?
Viele Grüße
Lutz
php::bar PHP Wiki - Listenarchive