[Postfixbuch-users] DB-Queries

Kai Fürstenberg kai_postfix at fuerstenberg.ws
Fr Mär 16 09:22:01 CET 2012


Hi Stefan,

Am 15.03.2012 19:33, schrieb Stefan G. Weichinger:
> Hm, heute wieder etliche Male dieses Problem mit der Kollation.
> 
> Ich habe soeben noch mal nachgesehen, und nun auch die Kollation der
> ganzen DB auf "utf8_general_ci" gestellt, wie auch explizit die
> Kollation der einen Tabelle .... doch trotz Restart von Postfix ergibt
> die Query Fehler ...
> 
> Mar 15 19:31:24 postler postfix/cleanup[13536]: warning:
> mysql:/etc/postfix/mysql-canonical-ov.cf lookup error for
> "bounce at newsletter-oe24.at"
> Mar 15 19:31:24 postler postfix/cleanup[13536]: warning: 1D9DB817E3:
> sender_canonical_maps map lookup problem for bounce at newsletter-oe24.at
> 
> 
> Ist meine gewählte Kollation OK oder brauche ich eine andere Form von UTF8 ?

Die ursprüngliche Fehlermeldung hieß:

> Mar 12 14:39:51 postler postfix/proxymap[13005]: warning: mysql query
> failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and
> (utf8_general_ci,COERCIBLE) for operation '='

Wenn diese nicht kommt, hast du kein Kollationsproblem. Dann schlägt nur
die Abfrage irgendwie fehl.

Steht vielleicht was im MySQL-Error-Log?

Evtl. ist es auch nur was ganz schlichtes:
> query = SELECT alias from virtual where username = _latin1'%u' and
> status = '1' limit 1

Ich habe die Erfahrung gemacht, dass es vorteilhaft ist, _alle_ Spalten
und Namen usw. in die entsprechenden Anführungszeichen zu setzen:

query = SELECT `alias` FROM `virtual` WHERE `username` = '%u' AND
`status` = '1' LIMIT 1

Ach so: %u steht für den User-Anteil vor dem @, %s für die gesamte
Adresse, %d für den Domain-Teil.
%s = %u . "@" . %d

-- 
Kai Fürstenberg

PM an: kai at fuerstenberg punkt ws




Mehr Informationen über die Mailingliste Postfixbuch-users