Su
Beiträge: 416
|
Unter PHP 5.4 werden Gruppen mit Umlauten nicht mehr angezeigt
|
Hoi mitenand
Vor ein paar Tagen entdeckte ich, dass die Navi einer Kundenwebsite nicht mehr richtig angezeigt wurde. Die Rücksprache mit der Hostingfirma ergab, dass neu PHP 5.4 installiert wurde.
Auch der DynPG-Update von 4.5.0 auf 4.5.2 half nichts: Der Text von Gruppen wie 'Unser Gebäck' oder 'Unser Café' ist unter PHP 5.4 unsichtbar, sowohl im Backend wie im Frontend. Nach dem Wechsel auf PHP 5.3 ist alles wieder normal.
Habt ihr mir einen Tipp, was ich korrigieren müsste?
Im Voraus herzlichen Dank
und liebe Grüsse
Susanna
|
http://www.artundmedia.ch
|
|
|
15.08.2013 11:08
|
ZITIEREN
| ANTWORTEN
|
Chris
Beiträge: 510
|
hi su,
nun dann ist das nun das zweite mal das so etwas passiert. elke hat bei einem hoster aktuell genau dasselbe problem.
das muss irgendwie an der verbindung von php zur mysql datenbank liegen und diese wird vermutlich plöztlich auf utf8 gefixt und unser system erwartet die verbindung in latin/iso da wir unsere Daten so codiert an die Datenbank übergeben.
also entweder finden wir einen workaround damit wir auch unter php 5.4 mit latin1 charset encoding arbeiten können (leider hat das auf dem server von elke nicht geklappt und man braucht vermutlich zugriff auf php.ini + my.cnf sprich die konfigurationen von php + mysql, damit man das alles korrekt einstellen könnte), oder wir müssen sobald mal wieder jemand zeit hat, das dynpg so erweitern, damit von latin1 auf utf8 umgestellt wird und bis dahin geht halt nur php
|
*************************************
Christoph Würsch
Urbanización Aranjuez
Asturianas No° 23
Asuncion / Paraguay
-------------------------------------
Tel: +595 (0)21 332 984
-------------------------------------
http://www.chriswuersch.com
*************************************
|
|
|
15.08.2013 15:57
|
ZITIEREN
| ANTWORTEN
|
Chris
Beiträge: 510
|
habe mich nun endlich ein bisschen schlauer gemacht und es scheint gar nicht am php - mysql zu liegen, sondern vielmehr an php selbst und den zwei methoden htmlspecialchars und htmlentities welche von iso auf utf8 umgestelllt werden beim update von 5.3. auf 5.4.
https://bugs.php.net/bug.php?id=61354
das heisst also damit dynpg auch unter php 5.4 funktioniert, müssten wir unser dynpg zuerst anpassen. bis dahin werden strings mit sonderzeichen welche über die eine der zwei obengenannten funktionen läuft, leer auf der Seite ausgegeben.
mfg
chris.w.
|
*************************************
Christoph Würsch
Urbanización Aranjuez
Asturianas No° 23
Asuncion / Paraguay
-------------------------------------
Tel: +595 (0)21 332 984
-------------------------------------
http://www.chriswuersch.com
*************************************
|
|
|
15.08.2013 16:11
|
ZITIEREN
| ANTWORTEN
|
Su
Beiträge: 416
|
Lieber Chris
Ist ja 'erfreulich', dass ich nicht die Einzige mit diesem Problem bin ;-)
Ich hab mich grad in der entsprechenden phpmyadmin umgeguckt und mir überlegt, wie ich da die grundsätzliche Encodierung umstellen müsste, als dein zweiter Post reinkam. Wenn ich dich richtig verstehe, würde das ja aber gar nix nützen?
Macht es deines Erachtens Sinn, wenn ich dem Hoster deine obige Info sende? Oder müssen wir für die Zukunft mit den Gegebenheiten von PHP 5.4 leben und haben keine andere Wahl, als das DynPG anzupassen?
Liebe Grüsse
Susanna
|
http://www.artundmedia.ch
|
|
|
15.08.2013 16:31
|
ZITIEREN
| ANTWORTEN
|
Chris
Beiträge: 510
|
hi su,
dieses problem tritt gem. bugtracker nur in gewissen installation mit Windows, IIS und fastCgi auf. Für die PHP Entwickler ist es kein Bug sondern ein Feature. Es gibt schon eine Community welche erzwingen möchte, das dies in PHP wieder korrigiert / angepasst wird.
Gem. den PHP Entwicklern wird das aber nicht passieren und das heisst:
- sollte dynpg auf einem Server unter einer aktuellen php 5.4 die werte mit sonderzeichen nicht mehr darstellen, muss auf php 5.3 umgestellt werden
- oder den Server von IIS auf Apache oder von fastCgi auf isapi umgestellt werden
- oder warten bis wir das DynPG angepasst haben, damit das unter der obengenannten Installationvariante auch wieder funktioniert. Korrigiert werden müssen die funktionsaufrufe htmlentities und htmlspecialchars und zwar muss dort neu zwingend ein leerer Ecoding-String mitgegeben werden, damit gem. aktuellem Seitenencoding dargestellt wird und nicht einfach per Standard UTF8! (=> Sollte also jemand Zeit und Lust haben - wir sind um jede mithillfe froh ;)
mfg
chris.w.
|
*************************************
Christoph Würsch
Urbanización Aranjuez
Asturianas No° 23
Asuncion / Paraguay
-------------------------------------
Tel: +595 (0)21 332 984
-------------------------------------
http://www.chriswuersch.com
*************************************
|
|
|
15.08.2013 18:06
|
ZITIEREN
| ANTWORTEN
|
|