[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
UTF-8 Daten in MySQL DB / phpMyAdmin: Umlaute falsch - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

UTF-8 Daten in MySQL DB / phpMyAdmin: Umlaute falsch

9. Mai 2008, 17:23

Moin,

genau diese Frage gabs schonmal (http://forum.redaxo.de/ftopic7355.html), aber der thread bog schnell in eine andere Richtung ab und sie wurde letztlich nicht geklärt.

Kurz: in all meine Projekten wo ich UTF-8 nutze, ist mir aufgefallen, daß Umlaute/Sonderzeichen in phpMyAdmin betrachtet falsch dargestelt werden. (phpMyAdmin frame wird als utf8 ausgegeben, manueller Wechsel der Kodierung im Browser hilft nicht) Lade ich einen dump (egal ob aus phpMyAdmin oder Redaxo selbst), sind auch dort die Sonderzeichen falsch, und mehr noch: Egal welche Kodierung ich in meinem Editor (jEdit, und da gibts viele) einstelle, ich kann keine finden wo sie dann wieder stimmen... =8-/ Das ist a) relativ unpraktisch, und b) auch etwas beunruhigend finde ich.. was genau ist das Problem?

Die Seiten selbst funktionieren, also was ich im backend eingebe, wird im frontend auch richtig ausgegeben, nur eben auf DB Level herrscht ein Zustand den ich so nicht kapiere..

Um das irgendwie einzugrenzenhab ich folgende Szenarien mal durchgetest:
Testvoraussetzung:
  • frische 4.1 Installation
  • Original rex_4.1_demo.sql, sprich ISO-8859-1. einzige Änderung: charset im Seitentemplate (also nur im HTML) auf utf8 geändert um es nicht jedesmal im backend tun zu müssen. Im weiteren Text nenn ich diese Variante schlicht Demo. Mit REX dump ist ein export aus dem backend gemeint, mit DB dump ein export der MySQL Db mittels phpMyAdmin. phpMyAdmin nenn ich pMA
Test 1
  • Demo importiert ->
  • Umlaute im frontend/backend falsch, in pMA Umlaute richtig.
  • Editiere ich jetzt ein slice im backend, sprich repariere falsche Umlaute ->
  • Umlaute dieses slices im frontend & backend korrekt, in pMA aber falsch.
  • jetzt DB Dump & REX Dump erstellt ->
  • REX Dump @ jEdit -> wird für ISO-8859-1 gehalten, Umlaute im slice sind flasch, Rest ok. Testweises laden als utf scheitert.
  • REX Dump @ BBedit -> kann keine Kodierung ermitteln. Manuelles laden als ISO-8859-1 -> Umlaute im slice flasch, Rest ok. Testweises laden als utf8 -> wird als schadhaft bezeichnet, Umlaute im slice richtig, Rest falsch.
Test 2
  • Demo im Editor geöffnet, Kodierung auf utf geändert, gesichert, und diese Kopie in Redaxo importiert ->
  • frontend/backend korrekt, in pMA falsch.
  • REX Dump dieser Variante ->
  • Von beiden Editoren als utf8 erkannt, Umlaute korrekt.
  • DB Dump dieser Variante ->
  • Von beiden Editoren als utf8 erkannt, Umlaute falsch. Reload als ISO-8859-1 -> Umlaute anders falsch
So, entweder hab ich ein Brett von der Größe Thüringens vorm Hirn, oder irgendwas läuft hier gaaanz komisch.

Kann jemand diese Verhalten bestätigen, oder hat sich beim Umzug einer Seite von iso nach utf an rgendwelchen Stellen gewundert?

Könnt ihr mal bitte per pMA die DBs eurer utf Seiten ankucken und mir sagen ob eure Umlaute da stimmen? Ich habs auf zwei verschiedenen Systemen getest: lokal in MAMP, und bei mein Hoster (Domainfactory) - Ergebnisse identisch.

lg & schönes we,
Jan

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

9. Mai 2008, 20:36

Hej,

habe eben folgendes getestet:


- Neuinstallation Redaxo 4.1.0 im Setup utf-8 angegeben
- Die Demo NICHT importiert, da diese ja ISO Daten enthält
- Template aufgesetzt, einen Artikel angelegt und mit Umlauten gefüllt
- Im phpMyAdmin den Inhalt aus der Tabelle kopiert und in meinen Editor eingefügt
- Kodierung auf utf-8 gestellt und Umlaute qwurden korrekt dargestellt.

Wenn du ISO Daten in utf8 umwandeln willst, dann hilft dir folgendes Skript:

http://wiki.redaxo.de/index.php?n=R3.In ... nvertieren

vg Thomas

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

10. Mai 2008, 03:43

Moin Thomas,
Thomas.Blum hat geschrieben: - Template aufgesetzt, einen Artikel angelegt und mit Umlauten gefüllt
- Im phpMyAdmin den Inhalt aus der Tabelle kopiert und in meinen Editor eingefügt
- Kodierung auf utf-8 gestellt und Umlaute qwurden korrekt dargestellt.
Ging bei mir so nicht.. aber versteh es richtig, daß phpMyAdmin bei dir auch falsche Umlaute angezeigt hat?

Das ist doch eher merkwürdig, findest du nicht? pMA kann UTF-8 definitiv korrekt anzeigen: UTF Daten aus anderen Quellen als Redaxo selbst werden in pMA sowohl korrekt angezeigt, als auch sind deren dumps im Editor korrekt.

Gegenversuch, vereinfachter Aufbau:
  • Rex installieren mit utf..
  • Kategorie mit einem Namen anlegen, der eindeutig nur mit utf8 mögliche Zeichen enthält. Ich hab den hier genommen: http://f-stop.de/utfstring.php
  • Kategorie speichern -> Zeichen im Backend ok, in pMA falsch.
  • In pMA diesen angelegten article editieren, für "name" & "catname" diesen string eingeben und speichern -> Fehlermeldung das einige der Zeichen nicht mir dieser Kollation (rex standard: latin1_swedish_ci) möglich sind -> pMA zeigt nur die darin möglichen Zeichen an, d.h. deutsche Umlaute ok, der Rest Müll. Im Backend: alles Müll.
  • In pMA die Kollationen von "name" & "catname" auf utf8_general_ci ändern, article nochmals wie oben editieren -> pMA zeigt den kompletten string korrekt an, im Backend wieder alles Müll.
Thomas.Blum hat geschrieben: Wenn du ISO Daten in utf8 umwandeln willst, dann hilft dir folgendes..
Das ist nicht mein Problem, ich möchte verstehen was Redaxo da macht.

Best guess im Moment: Redaxo bildet utf8 in der DB irgendwie kodiert im Rahmen von latin1_swedish_ci ab, das würde die Beobachtungen erklären.

lg,
Jan

Benutzeravatar
ynamite
Beiträge: 143
Registriert: 26. Jan 2007, 14:59
Wohnort: baden
Kontaktdaten: Website

und...?

31. Mär 2010, 16:41

Hallo

Möchte mich der Frage anschliessen, gibt's hierzu schon neues? Oder einfach eine Antwort?

Ich weiss das dieser Thread schon älter ist aber mich interessiert das brennend, wieso passiert das nur im Redaxo?

Als Test und aus faulheit habe ich einfach mal Wordpress auf meinem Rechner installiert (in xampp), natürlich alles in UTF-8 und siehe da, Umlaute kommen sowohl im Front- und Backend als auch im pMA richtig.

Genau dasselbe hab ich nun mit Redaxo gemacht, Umlaute stimmen im Front- und Backend, nicht aber in pMA...

Nun habe ich sämtliche Charset und Koallitions-Einstellung von der Wordpress DB auf die Redaxo DB übernommen, was aber keinen Unterschied zu machen scheint. Wenn ich im Redaxo einen Artikel mit Umlauten erfasse, kommt er im Front- und Backend zwar richtig, nicht aber im pMA. Wenn ich die Umlaute in pMA einfüge, stimmen sie dafür im Front- und Backend nicht. Bei Wordpress ist's egal was ich wo mache... also irgendetwas läuft hier gewaltig schief, ich hab keine Ahnung wo ich anfangen soll zu suchen aber offensichtlich maskiert oder kodiert Redaxo die Daten aus der DB irgendwie, was ich, falls dem so ist, extrem schlecht finde...

Bitte um Antwort!

Gruss
y
MASSIF Webdesign Studio

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

31. Mär 2010, 16:50

Das liegt an einem Bug und wird in Version 4.3 behoben sein.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
ynamite
Beiträge: 143
Registriert: 26. Jan 2007, 14:59
Wohnort: baden
Kontaktdaten: Website

31. Mär 2010, 18:22

Xong hat geschrieben:Das liegt an einem Bug und wird in Version 4.3 behoben sein.
du bist heute offiziel mein held! dankeschön, so einfach kanns gehen... :)
MASSIF Webdesign Studio

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

1. Apr 2010, 11:24

Moin,
Xong hat geschrieben:Das liegt an einem Bug und wird in Version 4.3 behoben sein.
Schön zu hören, daß das endlich geklärt ist.. nach fast 2 Jahren. ;->
Danke für den Hinweis.. der andere thread war an mit vorübergegangen..

lg,
Jan

Benutzeravatar
nitzer
Beiträge: 229
Registriert: 16. Okt 2006, 22:53
Wohnort: Erkrath
Kontaktdaten: ICQ Website

1. Apr 2010, 11:42

gibt es denn eine vernünftige Lösung?
Ich habe grad das Problem, daß ich mit einigen Seiten auf einen neuen Server umziehen muß und ebenfalls alle Umlaute falsch ankommen.
Es sind auch noch ältere Redaxo 3.2 dabei.

Benutzeravatar
ynamite
Beiträge: 143
Registriert: 26. Jan 2007, 14:59
Wohnort: baden
Kontaktdaten: Website

1. Apr 2010, 12:42

nitzer hat geschrieben:gibt es denn eine vernünftige Lösung?
Ich habe grad das Problem, daß ich mit einigen Seiten auf einen neuen Server umziehen muß und ebenfalls alle Umlaute falsch ankommen.
Es sind auch noch ältere Redaxo 3.2 dabei.
damit solls scheinbar gehen, ich selber hab's aber nicht getestet, angaben also ohne gewähr:
http://wiki.redaxo.de/index.php?n=R3.In ... nvertieren

edit: ist ein Skript welches deine ganze DB durchlaufen soll und alle Werte in UTF8 umwandelt, ob dies das "korrekte" UTF8 ist oder das von Redaxo, kann ich dir auf anhieb grad nicht beantworten.
MASSIF Webdesign Studio

Benutzeravatar
nitzer
Beiträge: 229
Registriert: 16. Okt 2006, 22:53
Wohnort: Erkrath
Kontaktdaten: ICQ Website

1. Apr 2010, 14:48

ich hab hier noch irgendwo einen thread gefunden.

ich habe nun mit MySQLDumper ein Backup gemacht, alle Daten via FTP auf den neuen Server übertragen. Master.inc angepasst und 100.000 Rechte neu gesetzt :?

Der erste Versuch (Rex 4.1) war erfolgreich. Mal sehen wie es mit einer 3.2er Version läuft. Auf dem Wege kann ich zumindest die alten Datenbanken erstmal auf latin1 lassen.

Ih geb dann nochmal Feedback…

Zurück zu „Allgemeines [R4]“