[Postfixbuch-users] DB-Queries

Stefan G. Weichinger lists at xunil.at
Fr Mär 16 13:40:26 CET 2012


Am 16.03.2012 10:40, schrieb Igor Sverkos:

> Du musst sicherstellen, dass dein Connector die Verbindung mit dem 
> richtigen Zeichensatz aufbaut.
> 
> Postfix verwendet intern nach meinem Wissen UTF-8 (keine Ahnung ob
> man das umstellen kann). Folglich muss der Connector die Verbindung
> auf UTF-8 stellen.
> 
> Das wird - siehe oben - standardmäßig der Fall sein, *wenn* UTF-8
> auch der Standardzeichensatz des MySQLd ist, zu dem man verbindet.
> Wenn der SQL-Server aber latin1 standardmäßig verwendet und du als
> ersten Befehl kein "SET CHARACTER..." absetzt, kommt es zu dem
> Fehler.
> 
> Verstanden?

Ich denke, ja.

> Laut deiner bisherigen Fehlermeldung vermute ich, dass du den
> SQL-Server warum auch immer auf latin1 eingestellt hast... 


Ich denke, das kommt daher, daß ich in der alten MySQL-4.x DB noch
latin1 hatte. Das wurde dort per automysqlbackup gesichert, und die
entstandenen SQL-Scripts habe ich genutzt, um am neuen Server die
Tables/DBs anzulegen.

> Mir ist
> jetzt nicht bekannt, dass man postfix anweisen kann für jede 
> Verbindung bitte "SET CHARACTER..." aufzurufen. Wenn du Glück hast
> liest der Client eine my.cnf, dann kannst du es hier angeben..
> ansonsten wirst du den Standardzeichensatz des Servers auf UTF-8
> ändern müssen.

Aber entspricht nicht mein Format der Query (mit dem "latin1"-Zusatz)
eben genau Deiner Forderung nach "dass dein Connector die Verbindung mit
dem richtigen Zeichensatz aufbaut" ?

Das Statement zum Anlegen der Tabelle war übrigens:

CREATE TABLE `virtual` (
  `alias` varchar(255) NOT NULL default '',
  `dest` longtext,
  `username` varchar(50) NOT NULL default '',
  `status` int(11) NOT NULL default '1',
  KEY `alias` (`alias`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Laut Export am alten Server ...

--

Danke, Stefan




Mehr Informationen über die Mailingliste Postfixbuch-users