Author Topic: Update SP4 auf SP7 -> Kyrillische Buchstaben werden zu Fragezeichen  (Read 1227 times)

Offline FS72

  • Posts: 62
  • Gender: Male
Hallo zusammen,

ich versuche gerade eine mehrsprachige Website mit Russischen Inhalten von 2.8.3 SP4 auf SP7 upzudaten.

Die kyrillischen Buchstaben werden in der DB in UTF-8 gespeichert.

Nach dem Ausführen des Upgrade Scrips, stehen statt der kyrillischen Buchstaben nur noch Fragezeichen in der DB (mod_wysiwyg).

Ich habe schon die alten und neuen Tabellen verglichen, kann aber keine Änderung feststellen (Zeichensatz usw. ist gleich).

Habt Ihr einen Tipp für mich, wie ich die Sache umgehen könnte?
Bzw. habe ich etwas falsch gemacht?


VG Frank

Offline dbs

  • Betatester
  • **
  • Posts: 8075
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Update SP4 auf SP7 -> Kyrillische Buchstaben werden zu Fragezeichen
« Reply #1 on: August 30, 2016, 02:58:20 PM »
Hi, versuch mal in der config.php noch dies oben mit drin:
Code: [Select]
define('DB_CHARSET', 'utf8');

Offline FS72

  • Posts: 62
  • Gender: Male
Re: Update SP4 auf SP7 -> Kyrillische Buchstaben werden zu Fragezeichen
« Reply #2 on: August 30, 2016, 03:37:45 PM »
Hi, versuch mal in der config.php noch dies oben mit drin:
Code: [Select]
define('DB_CHARSET', 'utf8');

Hi, das ist denke ich mal nicht von Bedeutung, denn in der Datenbank werden die Zeichen schon verändert.

Sobald das Upgrade-Script drüber läuft, ändern sich die Kyrillischen Buchstaben in Fragezeichen.


Ich habe übrigens das Ganze noch einmal ausprobiert mit einem Upgrade zu SP6. Das Ergebnis ist das gleiche.

Offline jacobi22

  • Posts: 5891
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Update SP4 auf SP7 -> Kyrillische Buchstaben werden zu Fragezeichen
« Reply #3 on: August 30, 2016, 07:59:20 PM »
diese "Fragezeichen" zeugen von einer Doppelkodierung - die DB-Verbindung wird seit SP6 eh auf UTF8 gestellt, die Einstellungen in den WB-Optionen müssen demzufolge ebenfalls auf UTF8 stehen
das sog. "default_charset" (siehe PHP.ini) sollte ebenfalls auf utf8 stehen, Strato ist da so ein Spezialist, der mal gern auf älteren Verträgen beim Upgrade das alte Charset "latin1" stehen läßt.
die Table Collation jeder einzelnen Tabelle muß auf "utf8_general_ci" (siehe z.b. in PHPmyAdmin in der Übersicht aller Tabellen

siehe hier, rechts im Bild



ich vermute mal grob, das die DB-Daten nicht oder falsch konvertiert wurden


Hi, versuch mal in der config.php noch dies oben mit drin:
Code: [Select]
define('DB_CHARSET', 'utf8');

Hi, das ist denke ich mal nicht von Bedeutung, denn in der Datenbank werden die Zeichen schon verändert.

es ist da von Bedeutung, wo dieses "default_charset" in der php.ini nicht gesetzt wurde. Das hat zur Folge, das der Benutzer mit seiner Software den Schriftsatz bestimmen kann
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline FS72

  • Posts: 62
  • Gender: Male
Re: Update SP4 auf SP7 -> Kyrillische Buchstaben werden zu Fragezeichen
« Reply #4 on: August 31, 2016, 09:38:00 AM »
Hallo, ich habe mir das eben noch mal angesehen und verglichen.

Ich habe das Upgrade jeweils in einer Testumgebung auf dem gleichen Server durchgeführt.

Die originale DB hat folgende Einstellungen:
character_set_clien t utf8
character_set_conne ction utf8
character_set_datab ase latin1
character_set_resul ts utf8
character_set_serve r latin1
character_set_syste m utf8
collation_connectio n utf8_general_ci
collation_database latin1_swedish_ci
collation_server latin1_swedish_ci

Die Tabellen stehen alle auf
utf8_general_ci oder
utf8_unicode_ci

Diese DB kopiere ich in die Testumgebung und die Einstellungen sind vor dem Upgrade die gleichen.
Die Website funktioniert auch genauso (inkl. speichern und Ausgabe von kyrillischen Zeichen).

Wenn ich das Upgrade ausführe, ändert sich nichts an den Einstellungen.
Aber die enthaltenen Daten ändern sich!


Nun habe ich zum Test einmal vor dem Upgrade die DB umgestellt auf:
character_set_clien t utf8
character_set_conne ction utf8
character_set_datab ase utf8
character_set_resul ts utf8
character_set_serve r utf8
character_set_syste m utf8
collation_connectio n utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

Danach habe ich die originale DB importiert. An dieser Stelle hat noch alles gut ausgesehen.

Danach habe ich das Upgrade ausgeführt.

Das Ergebnis ist das gleiche.


Habt Ihr noch eine Idee?

VG Frank

Offline jacobi22

  • Posts: 5891
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Update SP4 auf SP7 -> Kyrillische Buchstaben werden zu Fragezeichen
« Reply #5 on: August 31, 2016, 12:23:44 PM »
ich denke, du hast das System noch nicht verstanden  :oops: :roll:

deine Datenbank online steht auf Latin1 und deine Auflistung entspricht zu 100% meiner Vermutung

Verwenden mußt du nun Utf8. Gut 98% der Datenbanken laufen auf diesem Charset und darum ist es auch eine Vorgabe von PHP. Nur ein paar deutsch-sprachige Anbieter machen hier noch Ausnahmen, weil z.b. mit einer Zwangsumschaltung, die einige Anbieter machen, z.b. bei Strato auf Schlag 6 Mio Kunden Theater machen, weil sie noch latin1 verwenden und nur noch Fragezeichen gezeigt werden.

Du versuchst jetzt, ohne Konvertierung, eine latin1-Datenbank in einem Utf8--System darzustellen. Das einfache Umstellen der Einstellungen konvertiert nicht, es legt den Schriftsatz für den nächsten Schreibvorgang fest, d.h. was du jetzt neu einfügst, wird das nötige Format haben.
Teste das einfach, in dem du eine neue Seite einfügst, dieser russischen Text oder ein paar Sonderzeichen gibst und dir dann einen Dump aus der Tabelle mod_wysiwyg holst.

Diesen mit Editor anschauen, der nichts umkonvertiert, also kein Notepad oder Notepad++, keine IDE mit eingebauter Konvertierungsfunkt ion.
Wordpad wäre z.b. geeignet. Nun betrachte deine zuletzt eingegebenen Zeichen und vergleiche mit älteren Einträgen.
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline FS72

  • Posts: 62
  • Gender: Male
Re: Update SP4 auf SP7 -> Kyrillische Buchstaben werden zu Fragezeichen
« Reply #6 on: August 31, 2016, 01:54:40 PM »
Ich habe inzwischen noch folgendes probiert und damit Erfolg gehabt.

Ich habe die originale DB genommen.
In die config habe ich define('DB_CHARSET', 'utf8'); eingefügt
und danach das Upgrade-Script laufen lassen.

Danach wurden alle kyrillischen Zeichen und Sonderzeichen korrekt ausgegeben und in der DB dargestellt worden.
Ein erneutes Speichern von Zeichen funktioniert auch.

Deckt sich Deine Vermutung mit meiner Lösung?

VG Frank

Offline jacobi22

  • Posts: 5891
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Update SP4 auf SP7 -> Kyrillische Buchstaben werden zu Fragezeichen
« Reply #7 on: August 31, 2016, 09:44:35 PM »
Quote
Deckt sich Deine Vermutung mit meiner Lösung?

mit diesem Satz zu 100%
Quote from: jacobi22
ich vermute mal grob, das die DB-Daten nicht oder falsch konvertiert wurden

P.S.: Danke für die Rückmeldung inkl. deiner Lösung
Wer nicht will, findet Gründe, wer will, findet Wege.

 

postern-length