PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UTF-8 Problem



genetar
06.06.2019, 23:10
Hallo Leute,

habe soeben einen alten Shop wieder ins Leben gerufen. Erstes Problem was sich soeben abgezeichnet hat ist, dass die Umlaute nicht richtig dargestellt werden.

xt:Commerce v3.0.4 SP2.1
PHP: 5.3.

Vielleicht kann mir jemand helfen, hatte davor sicher noch die PHP 4.2

Danke

LG
Andreas

rf-musik
07.06.2019, 09:11
Hallo,
schaue mal unter phpMyAdmin ob die Datenbank auf UTF8 steht.

https://ecomservice.interfile.de/attachment.php?attachmentid=751&stc=1

genetar
07.06.2019, 10:06
Hi,

ja steht auf: utf8_unicode_ci

KlausK
07.06.2019, 10:08
xt:Commerce ist nicht Gambio!
Bitte beim nächsten Mal ins richtige Forum posten.

Ich lass das hier aber trotzdem mal stehen, weil das Problem ebenso bei Gambio auftreten kann.

KlausK
07.06.2019, 10:10
Hi,

ja steht auf: utf8_unicode_ci

Die einzelnen Tabellen auch?

genetar
07.06.2019, 21:22
ja auch die einzelnen Tabellen soeben umgestellt, leider keine positives Ergebnis.

KlausK
08.06.2019, 01:19
Das einfache "Umstellen" bringt dir gar nichts. Wenn du die Collation ändern willst, dann geht das nur via Konvertierung.
Die Frage ist aber auch ob UTF8-Kodierung überhaupt richtig ist!? Hast du in deinem HEAD deiner Seiten tatsächlich charset="utf8_unicode_ci" stehen?
Dein xt:Commerce v3.0.4 SP2.1 ist mittlerweile mindestens 13 Jahre alt. Damals wurde m.E. noch latin1_irgendwas verwendet :confused:
xtc diente damals schon als Basis für Gambio, Modified, etc. Bist du sicher dass du da einen reinen xt:Commerce liegen hast?

genetar
08.06.2019, 12:58
Hmm ok, da kenne ich mich ehrlich gesagt nicht wirklich aus...
ja die hab ich im header.
vorher war die mysql tabellen: latin1_german1_ci

Ja es ist Gambio, das steht aber bei der Version drinnen.

KlausK
10.06.2019, 14:39
Hmm ok, da kenne ich mich ehrlich gesagt nicht wirklich aus...
Dann wird das Reaktivieren deines alten Shops vermutlich nicht gerade einfach ...


ja die hab ich im header.
Wenn UTF8 im Header steht, soll ja UTF8 ausgeliefert werden. Dafür muss aber bereits der Inhalt in der Datenbank UTF8-Codiert sein.


vorher war die mysql tabellen: latin1_german1_ci
Das muss alles ein bischen genauer werden! Was heißt vorher? Hast du eine bestehende DB aus deinem Webspace hervorgeholt? Oder hast du einen Datenbank-Dump gefunden und diesen in eine frische DB importiert?


Ja es ist Gambio, das steht aber bei der Version drinnen.
Diese Information steht ja nicht einfach nur so "drinnen". Es steht auch dabei, warum das da steht!
Wenn man einen Onlineshop betreiben will, muss man eine Grundvoraussetzung mitbringen: Gewissenhaftigkeit
Ohne exaktes Lesen/Informieren, Verstehen und Umsetzen wird es mehr Misserfolge als Erfolge geben!

Wie dem auch sei ...

Der Inhalt der Tabellen muss erstmal in UTF-8 konvertiert werden:

ALTER TABLE Tabellenname CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci

Und damit zukündtig alles in UTF8-Codierung abgelegt wird:

ALTER DATABASE Datenbankname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

Tabellen- und Datenbankname musst du natürlich entsprechend anpassen. Ausgeführt wird das direkt in phpMyAdmin in der SQL-Console. Eingeben und ENTER drücken.
Im Netz kursieren aber auch Anweisungen die alle Tabellen in einem Abwasch konvertieren.

Bevor du aber jetzt irgendwas damit kaputt machst, solltest du dich als erstes mit dem Thema Datensicherung vertraut machen!

genetar
12.07.2019, 08:51
Hallo Klaus,

sorry die späte Antwort.

Ich hab die bestehende DB vom Webspace genomme, habe Kopie gemacht und versuche hiermit irgendwie auf das gewünschte Ergebnis zu kommen.

Habe den Konvert wie du beschrieben hast mit einem PHP script gemacht.

Leider funktioniert das immer noch nicht... hat sich nichts geändert.

Sonst noch Tips?

Wobei die Umlaute vom Shop (Buttons/Überschriften) funktionieren, lediglich nicht bei den Artikeln/selbst angelegten Menüs etc..

Danke

LG
Andreas

KlausK
12.07.2019, 15:40
Habe den Konvert wie du beschrieben hast mit einem PHP script gemacht.
Was für ein "PHP script"? Wofür?

genetar
12.07.2019, 15:42
Damit die Tabellen einzeln convertiert werden.