diverse encoding Probleme nach upgrade 4.8.20

Gesperrt
Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Schertle » Do 10. Jul 2014, 12:48

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

Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

Re: diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Schertle » Fr 11. Jul 2014, 13:02

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.

Oldperl
Beiträge: 4256
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Oldperl » Di 15. Jul 2014, 07:57

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
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Zuschauer
Beiträge: 141
Registriert: Do 5. Dez 2013, 08:57
Kontaktdaten:

Re: diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Zuschauer » Di 15. Jul 2014, 08:06

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

Oldperl
Beiträge: 4256
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Oldperl » Di 15. Jul 2014, 08:16

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
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

Re: diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Schertle » Di 15. Jul 2014, 08:40

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);

Oldperl
Beiträge: 4256
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Oldperl » Di 15. Jul 2014, 09:57

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
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

Re: diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Schertle » Di 15. Jul 2014, 10:20

Gibt es für den DB-Connector eine Doku?

Oldperl
Beiträge: 4256
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: diverse encoding Probleme nach upgrade 4.8.20

Beitrag von Oldperl » Di 15. Jul 2014, 10:34

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
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Gesperrt