Seite 1 von 1

diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Do 10. Jul 2014, 12:48
von Schertle
Nachdem Upgrade von 4.8.18 auf 4.8.20 habe ich sehr viele Probleme.
Alle Sprachen stehen auf UTF-8. Auch MySQL verwendet UTF-8.
PHP 5.4.27

Ich habe ein Modul mit Datenbankimport. Das Modul ist schon älter und verwendet noch mysql Kommandos.
Nachdem Upgrade funktionierte der datenbank import nicht mehr. Dann ist mir aufgefallen, dass das Setup in der config.php automatisch den alöten Eintrag von

Code: Alles auswählen

$cfg["database_extension"] = 'mysql";
auf änderte

Code: Alles auswählen

$cfg["database_extension"] = 'mysqli';
ebenfalls wurde ein neuer Eintrag hinzugefügt:

Code: Alles auswählen

$contenido_charset = ''
Nach konvertieren der mysql Kommandos in mysqli Kommandos funktionierte der Import wieder, aber in den Datenbankfelder kommen nun keine Umlaute mehr an.

Diesen Eintrag habe ich schon gemacht.

Code: Alles auswählen

$contenido_charset = 'UTF-8'
Mir ist auch aufgefallen, dass sowohl in der lang_de_DE.xml als auch contenido.po Encoding noch auf ISO-8859-1 steht.
War aber auch schon vor dem Update so.

Siehe auch diese Threads:

http://forum.contenido.org/viewtopic.php?f=59&t=35059
http://forum.contenido.org/viewtopic.ph ... 71#p164071

Re: diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Fr 11. Jul 2014, 13:02
von Schertle
Habe jetzt in meinem Modul nach dem mysqli_connect folgender Eintrag gemacht:

Code: Alles auswählen

!$cxn->set_charset("utf8");
jetzt erscheinen auch wieder in der DB die Umlaute.

Re: diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Di 15. Jul 2014, 07:57
von Oldperl
Schertle hat geschrieben:

Code: Alles auswählen

!$cxn->set_charset("utf8");
$cxn ist aber nicht der Bezeichner des default $db-Objekt. Nutzt du das DB-Objekt von Contenido?

Gruß aus Franken

Ortwin

Re: diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Di 15. Jul 2014, 08:06
von Zuschauer
Oldperl hat geschrieben:Nutzt du das DB-Objekt von Contenido?
Schertle hat geschrieben:Das Modul ist schon älter und verwendet noch mysql Kommandos.
Schertle hat geschrieben:Habe jetzt in meinem Modul nach dem mysqli_connect folgender Eintrag gemacht:
Lesen bildet ;)

Gruß
Zuschauer

Re: diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Di 15. Jul 2014, 08:16
von Oldperl
Zuschauer hat geschrieben:Lesen bildet ;)
Oh, das hab ich schon. :roll:
Auch Contenido kann sich über mysqli verbinden. Aber egal...
Mangels entsprechendem Code-Auszug ist es eh nur vermuten.

Gruß aus Franken

Ortwin

Re: diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Di 15. Jul 2014, 08:40
von Schertle
Oldperl hat geschrieben:Nutzt du das DB-Objekt von Contenido?
Ich denke nicht.

Code: Alles auswählen

$cxn = mysqli_connect($host,$dbuser,$dbpasswort,$dbName);
!$cxn->set_charset("utf8");
$sql = "SELECT * from ".$tabellenName."";
$result = mysqli_query($cxn,$sql) or die(mysqli_error($cxn));
$row = mysqli_fetch_assoc($result);

Re: diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Di 15. Jul 2014, 09:57
von Oldperl
Ok, dann kann das so passieren. Zur 4.8.20 wurde am Handling des DB-Encodings geschraubt. Contenido sollte dadurch mit neueren MySQL-Versionen keine Probleme haben (ob das so ist kann ich nicht bestimmt sagen). Bei Modulen die ihren eigenen DB-Zugriff setzen trifft das dann aber nicht zu.
Hier muss man dann, so wie du es gemacht hast, evtl. händisch eingreifen. Zu empfehlen ist aber da generell eine Nutzung des Contenido-eigenen DB-Connectors um damit auch die Kompatibilität für die nächsten Generationen zu erhöhen. Oftmals ist dieser Eingriff gar nicht so aufwendig und man erspart sich beim nächsten Mal die teils aufwendige Suche nach dem Schuldigen.

Wer es nicht selbst kann oder machen möchte, darf gerne mal bei mir nachfragen... :wink:

Gruß aus Franken

Ortwin

Re: diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Di 15. Jul 2014, 10:20
von Schertle
Gibt es für den DB-Connector eine Doku?

Re: diverse encoding Probleme nach upgrade 4.8.20

Verfasst: Di 15. Jul 2014, 10:34
von Oldperl
Eine wirkliche Doku für die 4.8er nicht - aber eventuell hilft Dir der eine oder andere Eintrag in der FAQ so wie dieser :arrow: http://faq.contenido.org/content/18/82/ ... _contenido

Gruß aus Franken

Ortwin