Fehlermeldung bei Bestellung nach Update auf Shopware 5.2

Hallo zusammen,

wir haben ein Update von Shopware 5.1.3 auf 5.2.2 vorgenommen.

Bei einer Testbestellung mit “Rechnung” oder “Vorkasse” bekommen wir auf der /checkout/finish folgenden Error:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='' in /var/www/vhosts/.de/httpdocs/sw/_shopware5/dev/engine/Library/Zend/Db/Statement/Pdo.php:231 Stack trace: #0 /var/www/vhosts/.de/httpdocs/sw/_shopware5/dev/engine/Library/Zend/Db/Statement/Pdo.php(231): PDOStatement->execute(Array) #1 /var/www/vhosts/.de/httpdocs/sw/_shopware5/dev/engine/Library/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo->_execute(Array) #2 /var/www/vhosts/.de/httpdocs/sw/_shopware5/dev/engine/Library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) #3 /var/www/vhosts/.de/httpdocs/sw/_shopware5/dev/engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('\n SE...', Array) #4 /var/www/vhosts/.de/httpdocs/sw/_shopware5/dev/engine/Library/Enlight/Components/Db in /var/www/vhosts/.de/httpdocs/sw/_shopware5/dev/engine/Library/Zend/Db/Statement/Pdo.php on line 237

Mehrere Tabellen sind mit utf_general_ci, mehrere mit utf8_unicode_ci.
Das war auch im alten Shop so (Version 5.1.3) auch schon so.

Man sieht jedoch nicht welchen Vergleich es jetzt konkret betrifft oder welche Tabelle man anpassen muss von der collation her.
Welche Tables müssen wir anpassen, wie können wir uns das anzeigen lassen?

 

Das sind klassische MySQL-Fragen und für Deine Umgebung spezifisch. Dazu wird es Infos im Netz zuhauf geben. Scheinbar ist es nur wichtig, dass man durchehend nur eine hat: utf_general_ci oder utf8_unicode_ci oder was auch immer.

@NextMike‍

Danke für die Antwort. Wir haben jetzt die komplette Kollation der Datenbank geändert auf utf8_unicode_8.
Scheinbar hat der Shopware Hoster aixpro hier als DB default utf_general_ci definiert. Das führt dazu, das wenn neue Plugins installiert werden, immer utf_general_ci verwendet wird. Aber nur dann, wenn im Plugin keine Kollation vordefiniert wird! Das führt dann in Shopware zu Problemen.

Lösung: default der Datenbank ändern auf utf_unicode_ci, dann bei allen vorhandenen Tabellen sowie Spalten die Kollation auf utf_unicode_ci ändern.
Shopware empfiehlt auch generell utf_unicode_ci , hatten Kontakt mit dem Support

utf_general_ci ist von der Performance zwar besser, aber utf_general_ci ist wohl für Mehrsprachige Shops empfehlsnwert

1 Like