Es werden unterschiedliche Kollationen für die ID-Felder verwendet

Hallo,

bei dem Punkt Systemgesundheit kriege ich plötzlich die Fehlermeldung aus dem Titel.
Ich habe hier im Forum auch schon einiges dazu gefunden, aber da wurde geraten, dass die ID Werte in der Datenbank alle die gleiche Kollation nutzen sollten. Das tun sie aber schon bei mir und ich kriege ja auch für jede einzelne eine Fehlermeldung.

Kann mir da jemand helfen?

Es werden unterschiedliche Kollationen für die ID-Felder verwendet:
oxacceptedterms
OXUSERID - latin1_general_ci
oxaccessoire2article
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXARTICLENID - latin1_general_ci
oxactions
OXID - latin1_general_ci
oxactions2article
OXID - latin1_general_ci
OXARTID - latin1_general_ci
OXACTIONID - latin1_general_ci
oxaddress
OXUSERID - latin1_general_ci
OXID - latin1_general_ci
OXCOUNTRYID - latin1_general_ci
OXADDRESSUSERID - latin1_general_ci
oxadminlog
OXUSERID - latin1_general_ci
oxartextends
OXID - latin1_general_ci
oxarticles
OXVENDORID - latin1_general_ci
OXPARENTID - latin1_general_ci
OXMANUFACTURERID - latin1_general_ci
OXID - latin1_general_ci
OXAMTASKID - latin1_general_ci
OXAMITEMID - latin1_general_ci
oxattribute
OXID - latin1_general_ci
oxcategories
OXROOTID - latin1_general_ci
OXPARENTID - latin1_general_ci
OXID - latin1_general_ci
oxcategory2attribute
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXATTRID - latin1_general_ci
oxconfig
OXID - latin1_general_ci
oxconfigdisplay
OXID - latin1_general_ci
oxcontents
OXID - latin1_general_ci
OXCATID - latin1_general_ci
oxcountry
OXID - latin1_general_ci
oxdel2delset
OXID - latin1_general_ci
OXDELSETID - latin1_general_ci
OXDELID - latin1_general_ci
oxdeliveryset
OXID - latin1_general_ci
oxdiscount
OXITMARTID - latin1_general_ci
OXID - latin1_general_ci
oxfiles
OXID - latin1_general_ci
OXARTID - latin1_general_ci
oxgbentries
OXUSERID - latin1_general_ci
OXID - latin1_general_ci
oxgroups
OXID - latin1_general_ci
oxinvitations
OXUSERID - latin1_general_ci
oxlinks
OXID - latin1_general_ci
oxlogs
OXUSERID - latin1_general_ci
OXSESSID - latin1_general_ci
OXCNID - latin1_general_ci
OXANID - latin1_general_ci
oxmanufacturers
OXID - latin1_general_ci
oxmediaurls
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
oxnews
OXID - latin1_general_ci
oxnewsletter
OXID - latin1_general_ci
oxnewssubscribed
OXUSERID - latin1_general_ci
OXID - latin1_general_ci
oxobject2action
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXACTIONID - latin1_general_ci
oxobject2article
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXARTICLENID - latin1_general_ci
oxobject2attribute
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXATTRID - latin1_general_ci
oxobject2category
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXCATNID - latin1_general_ci
oxobject2delivery
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXDELIVERYID - latin1_general_ci
oxobject2discount
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXDISCOUNTID - latin1_general_ci
oxobject2group
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
OXGROUPSID - latin1_general_ci
oxobject2list
OXOBJECTID - latin1_general_ci
OXLISTID - latin1_general_ci
OXID - latin1_general_ci
oxobject2payment
OXPAYMENTID - latin1_general_ci
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
oxobject2selectlist
OXSELNID - latin1_general_ci
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
oxobject2seodata
OXOBJECTID - latin1_general_ci
oxorder
OXUSERID - latin1_general_ci
OXPAYMENTID - latin1_general_ci
OXPAYID - latin1_general_ci
OXID - latin1_general_ci
OXDELCOUNTRYID - latin1_general_ci
OXCARDID - latin1_general_ci
OXBILLCOUNTRYID - latin1_general_ci
oxorderarticles
OXORDERID - latin1_general_ci
OXID - latin1_general_ci
OXARTID - latin1_general_ci
oxorderfiles
OXORDERID - latin1_general_ci
OXID - latin1_general_ci
oxpayments
OXID - latin1_general_ci
oxprice2article
OXID - latin1_general_ci
OXARTID - latin1_general_ci
oxpricealarm
OXUSERID - latin1_general_ci
OXID - latin1_general_ci
OXARTID - latin1_general_ci
oxratings
OXUSERID - latin1_general_ci
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
oxrecommlists
OXUSERID - latin1_general_ci
OXID - latin1_general_ci
oxremark
OXPARENTID - latin1_general_ci
OXID - latin1_general_ci
oxreviews
OXUSERID - latin1_general_ci
OXOBJECTID - latin1_general_ci
OXID - latin1_general_ci
oxseo
OXOBJECTID - latin1_general_ci
oxseohistory
OXOBJECTID - latin1_general_ci
oxshops
OXID - latin1_general_ci
OXDEFCAT - latin1_general_ci
oxstates
OXID - latin1_general_ci
OXCOUNTRYID - latin1_general_ci
oxstatistics
OXID - latin1_general_ci
oxtplblocks
OXID - latin1_general_ci
oxuser
OXID - latin1_general_ci
OXCOUNTRYID - latin1_general_ci
oxuserbasketitems
OXID - latin1_general_ci
OXBASKETID - latin1_general_ci
OXARTID - latin1_general_ci
oxuserbaskets
OXUSERID - latin1_general_ci
OXID - latin1_general_ci
oxuserpayments
OXUSERID - latin1_general_ci
OXPAYMENTSID - latin1_general_ci
OXID - latin1_general_ci
oxvendor
OXID - latin1_general_ci
oxvouchers
OXVOUCHERSERIEID - latin1_general_ci
OXUSERID - latin1_general_ci
OXORDERID - latin1_general_ci
OXID - latin1_general_ci
oxvoucherseries
OXID - latin1_general_ci
oxwrapping
OXID - latin1_general_ci
payppaypalpluspayment
OXPAYMENTID - latin1_general_ci
OXORDERID - latin1_general_ci
OXID - latin1_general_ci

Hast du Aggrosoft Paypal? (oder andere Aggrosoft Module im Einsatz)

Nein, aber das offizielle PayPal Plus Modul - kann es damit zusammenhängen?

Theoretisch ja, schau mal nach ob es vor den ganzen ox### Tabellen von oxud in der Datenbank nicht was anderes gibt.

Jedenfalls, diese Datenbankprüfung von Oxid schnappt sich alphabetisch die erste Tabelle und holt die kollation vom Oxid Feld. Und jedes Oxid Feld der restlichen Tabellen, das nicht die selbe kollation hat, ist für diese Prüfung daher falsch.
Und wenn es eben eine fremde Tabelle erwischt, die aber falsch ist, sieht es dann wie bei dir aus.

Super Tipp danke - lag am Amazon Payments Plugin!

Nun was ist zu tun?
ich habe den Aggrosoft AGCMS Visual Editor installiert und ebenfalls >Es werden unterschiedliche Kollationen für die ID-Felder verwendet:<
Die OXIDfelder der Reihe nach auf Kollation utf8_general_ci umstellen???
Ich wäre nun für jeden Tipp dankbar!

nein, sie sind ja alle richtig, nur die allererste Tabelle ist falsch.

[QUOTE=vanilla thunder;188351]nein, sie sind ja alle richtig, nur die allererste Tabelle ist falsch.[/QUOTE]

Danke vanilla thunder, ist ja eigentlich logisch…

Also für die, die da nach mir kommen:

Geht hin und passt alle ag_Felder mit OXID in den Tabellen (im Moment 14)
z.B. folgendermaßen an:

… utf8 wird zu latin1 COLLATE latin1_general_ci

dann haut`s auch mit der Systemgesundheit hin :wink:

PS: Aggrosoft berücksichtigt dies im nächsten update …!

So long…

[QUOTE=LoewenHerz;188374]
… utf8 wird zu latin1 COLLATE latin1_general_ci
[/QUOTE]

Hallo,
habe das Problem auch seit kurzem. Die Umstellung scheint es auch zu lösen, zumindest was die Fehlermeldung angeht. Irgendwie kommt es mir so vor, als wenn da ein noch nicht erkanntes größeres Problem schlummert. Es scheint sich auch nicht nur auf einzelne Anbieter zu beziehen, sondern kommt bei unterschiedlichen vor. Aggrosoft ist da nicht alleine.

Die Lösung es auf latin1 umzustellen kommt mir auch irgendwie falsch vor, auch wenn die Prüfung der Systemgesundheit dann ok ist und keine Fehlermeldungen mehr kommen. utf8 ist doch eigentlich “besser”.

cya

Nabend,
da die OXID Generierungsfunktion ja immer einen Ascii tauglichen String liefert, ist hier die Collation latin1… besser zu bewerten, als UTF (in welcher ausprägung auch immer)

  1. der benötigte Speicherbedarf ist geringer
  2. das Vergleichen ist performanter
  3. da 2. auch für Sort benutzt wird, ist auch ein ORDER BY performanter.

Gruss
marcel

Ich habe das Problem auch jetzt, vermutlich durch das amazon-pay Modul!

Aber ich bin bei den Datenbanken nicht so bewandert das ich nicht genau weiß was zu tun ist!
Könnte mich da jemand mal begleiten, so bei 1-4 umstellungen?

Danke im Voraus!

Petra

  1. PhpMyAdmin aufmachen
  2. Tabelle auswählen
  3. in Ansicht “Struktur” wechseln
  4. bei entsprechenden Feldern mit oxIDs (OXID, OXUSERID, OXORDERID, OX-irgendwas-ID) ganz rechts auf “Bearbeiten” klicken
  5. Im Dropdown unter Kollation “latin1_general_ci” auswählen
  6. Speichern

Hallo!

Danke für die Hilfe!
Ich bin jetzt in die erste angemengelte Tabelle: oxacceptedterms / Struktur und da steht alles auf latin1??

Bin ich jetzt da irgendwo falsch??

ja, du musst in die Tabellen vorher, also bestit## und oepaypal

Danke! Die Fehlermeldungen sind weg!
FREU:ok_hand:

es gibt kein Grund unterschiedlichen Collation für OXIDs zu haben. IDs sind /^[-a-z0-9]{32}$/, ohne UTF-8 Gedünns, sehe generateUId() tieferer Sinn? . Es ist daher einfach blöd das Module Entwickler die Collation für deren IDs abhängig machen vom Shop Config Einstellung:

    // UTF-8 mode in shop 0 - off, 1 - on
    $this->iUtfMode = 1;

Anyway, um Shopbetreiber nicht abschrecken zu lassen das was falsch ist mit den Oxid Tabellen, lege ich ein dummy Tabelle an:

    CREATE TABLE `aaadummy` (
      `OXID` char(32) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='dummy table to fool the foolish Oxid checks';

Daruch erscheinen nur die Module auf die sich nicht an dem Standard halten :wink: