Archiv verlassen und diese Seite im Standarddesign anzeigen : Kollation nach update v. 3.6.8. zu 3.7.b4
SchwarzeGenetik
25.01.2008, 23:03
hi ihr!
nach dem update von 3.6.8 zu 3.7.b4 und der db-einstellung latin1_swedish_ci hatten die neuen tabellen utf8_unicode_ci.
dann hab ich versucht alle tabellen in utf8_unicode_ci umzuschreiben mit der von euch empfohlenen mysql_char.php.
hats auch alles geklappt nur kam dann nen db-fehler das er das hier nicht umschreiben kann:
- Field: title latin1_swedish_ci
nebenbei gefragt, wie wendet man denn die funktionen der mysql_char.php richtig an?
was soll ich nun machen? alles nach utf8_unicode_ci oder alles nach latin1_swedish_ci. also mein forum benötigt nur die deutsch sprache.
ich hatte hier schonmal sowas gefragt, hatte aber leider keine antwort bekommen...
Gruß SG
SchwarzeGenetik
26.01.2008, 14:14
das muß ich mal los werden...
also was ich schon für zeit investiert hab und den mist mit den kollationen zu perfektionieren. bisher gab es zwar noch keine probleme damit, doch ich möcht auch keine haben.
erst installierte ich vb3.6.8. da stand alles auf latin1_swedish_ci. jetzt teste ich grad die vb3.7.
hab sie installiert ohne irgendwelche änderungen zumachen, was die kollationen betrifft.
die neuen angelegten tabellen stehen jetzt auf utf8_unicode_ci
was soll das denn? es wird immer gesagt, alles so gleich sein.
weiterhin scheint mir hier so wirklich keiner sich mit der richtigkeit der kollationen auszukennen. denn wenn man mal schaut wie die hilfeantworten aussehen, dann gibts entweder keine, oder selten klare anweisungen für eine lösung des einzelnen oder es wird auf eine beschreibung der kollationen bei mydumper verwiesen.
alles gut und schön, doch wir wollen das nicht erst studieren müssen um eine grundeinstellung für die vb-installation zu tätigen!
eine einfache anweisung "wenn dann-taktik" würde reichen...
war eigentlich immer mit vb zufrieden, nur finde ich das hier das wichtige thema "kollation" etwas zusehr den benutzern überlassen wird.
nicht um sonst gibt es viele themen die sich darum handeln, doch wenige anworten die zur klärung beitragen...
Gruß SG :cool:
StGaensler
26.01.2008, 14:33
Hallo,
ich kann dir erklären, wie es zu deinem Problem kam: Du hast scheinbar irgendwann einmal ein Update von MySQL gemacht, oder die Datenbank neu eingespielt oder ähnliches. Dadurch ist die Koallation der Datenbank auf utf-8 umgestellt worden. Die vorhandenen Tabellen (und Spalten) tragen aber nun weiterhin latin1.
Was passiert nun, wenn neue Tabellen angelegt werden? Richtig, sie werden in der Koallation der Datenbank angelegt - welche nunmal utf-8 ist.
Also: Die bisherigen Tabellen sind latin1 - also würde ich die neu angelegten Tabellen auch wieder auf latin1 bringen, und diesmal aber die Koallation der Datenbank selbst auch auf latin1 umstellen, damit dieses Problem nicht nocheinmal auftritt.
Viele Grüße,
Stefan
SchwarzeGenetik
26.01.2008, 15:37
danke dir stefan!
wie gesagt, das teste ich jetzt alles erstmal local...
das ist schon das prob, nur stand vor dem update die:
Zeichensatz / Kollation der MySQL-Verbindung: latin1_swedish_ci
und trotzdem wurden die neuen tabellen mit utf8_unicode_ci dargestellt.
nun hab ich bisl rum probiert und raus gefunden, das es abhängt mit welcher kollation die datenbank erstellt wurde!
z.b.
DB erstellt mit utf8_unicode_ci macht jede neue tabelle zu utf8_unicode_ci
DB erstellt mit latin1_swedish_ci macht jede neue tabelle zu latin1_swedish_ci
dabei ist es egal was ich bei Zeichensatz / Kollation der MySQL-Verbindung einstelle...
nun, wies dann online ist kann ich net sagen, weil ich (druch meinen provider) die kollation beim erstellen einer DB nicht einstellen oder sehen kann.
aber dank der mysql_char.php kann man da ja schon viel einstellen. nur weil ich kein englisch kann, ist mir die benutzung der funktionen etwas wage um alles korrekt durch zuführen...
Gruß SG
nun hab ich bisl rum probiert und raus gefunden, das es abhängt mit welcher kollation die datenbank erstellt wurde!
Genau das hat Stefan dir doch bereits geschrieben :)
SchwarzeGenetik
26.01.2008, 21:15
ja, aber ich dachte das hat sich erledigt, wenn man im phpmyadmin bei der:
Zeichensatz / Kollation der MySQL-Verbindung
die gewünscht kollation auswählt, die dann bei der nächtsten tabellenerstellung benutzt wird.
doch dem ist nicht so! es muß dir kollation der datenbank geändert werden. was ja auch nicht so einfach ist, wenn man nicht die mysql_char.php zur verfügung hat! oder wie sollte man denn sonst die kollation ändern?
naja, jedenfalls müßte dann online alles klar laufen, denn da stimmt die kollation der DB.
Gruß SG
StGaensler
27.01.2008, 07:53
Ja, ich sagte Koallation der Datenbank, und nicht Koallation der Verbindung - diese kann bei jeder Verbindung wieder anders sein.
Die Koallation der Datenbank sieht man in phpMyAdmin bei der Übersicht der Tabellen (wo man auch die Koallationen der Datenbank sieht) in der letzten Zeile, und ändern kann man diese über einen Klick auf "Operationen".
Viele Grüße,
Stefan
SchwarzeGenetik
27.01.2008, 15:47
hi stefan!
danke dir, habs nun verstanden und gefunden! :)
allerdings hatte ich bei der DB-übersicht keine option "Operationen". die hatte ich erst, als ich die gewünschte DB angezeigt hatte.
nun, is ja alles klar...
nur noch eins, wie geh ich den am besten mit der mysql_char.php vor wenn man z.b. alles auf utf8_unicode_ci umstellen möchte?
hatte es mal probiert alles (DB, tabellen, spalten u. felder) zu convertieren. da konnte z.b. Field: title latin1_swedish_ci nicht covertiert werden.
in welcher reihenfolge sollte man den so eine umstellung mit dermysql_char.php durchführen?
Gruß SG
StGaensler
27.01.2008, 16:00
allerdings hatte ich bei der DB-übersicht keine option "Operationen". die hatte ich erst, als ich die gewünschte DB angezeigt hatte.Desswegen sagte ich auch Tabellenübersicht, und nicht Datenbankenübersicht :rolleyes:nur noch eins, wie geh ich den am besten mit der mysql_char.php vor wenn man z.b. alles auf utf8_unicode_ci umstellen möchte?
hatte es mal probiert alles (DB, tabellen, spalten u. felder) zu convertieren. da konnte z.b. Field: title latin1_swedish_ci nicht covertiert werden.Was meinst du mit Reihenfolge? Ich würde es an deiner Stelle entweder komplett umstellen oder garnicht - das Forum sollte währenddessen natürlich offline geschaltet sein.
Welche MySQL Fehlermeldung wurde denn angezeigt, wie diese Spalte nicht konvertiert werden konnte?
Viele Grüße,
Stefan
SchwarzeGenetik
27.01.2008, 16:49
hi stefan!
also, ich habs nochmal durchgeführt, weil ich den fehler nich mehr wußte...
1. Analyze collations
2. New Collation for selected tables and columns: hat geklappt
3. Convert Columndata for changed tables: häckchen geseztz
Temporary dropping index 'PRIMARY' for table 'vb3_adminutil'...
Database error in vBulletin 3.7.0 Beta 4:
Invalid SQL:
ALTER TABLE vb3_adminutil DROP KEY PRIMARY;
MySQL Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PRIMARY' at line 1
Error Number : 1064
Date : Sunday, January 27th 2008 @ 04:35:53 PM
Script : http://xxx/mysql_char.php?do=fix_tbl_field
Referrer : http://xxx/mysql_char.php?do=action
IP Address : xxx
Username : xxx
Classname : vB_Database
MySQL Version : 5.0.45-community-nt
4.Convert Columndata for changed tables u. Convert Columndata for changed columns: häckchen gesetzt
Converting column 'name' for table 'vb3_socialgroup' to utf8_unicode_ci...
Database error in vBulletin 3.7.0 Beta 4:
Invalid SQL:
ALTER TABLE vb3_socialgroup CHANGE name name varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL;
MySQL Error : Column 'description' cannot be part of FULLTEXT index
Error Number : 1283
Date : Sunday, January 27th 2008 @ 04:38:36 PM
Script : http://xxx/mysql_char.php?do=fix_tbl_field
Referrer : http://xxx/mysql_char.php?do=action
IP Address : xxx
Username : xxx
Classname : vB_Database
MySQL Version : 5.0.45-community-nt
hmm... Gruß SG
SchwarzeGenetik
29.01.2008, 23:02
keiner ne idee...
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.