mysql-Datenbank Zeichensatz

gba
Beiträge: 17
Registriert: 11.11.2017, 20:02

Beitrag von gba »

Hallo,

nachdem ich jetzt den Umzug des Forums geschafft habe ist noch ein Problem übrig:
In den Beiträgen stehen statt Umlauten Fragezeichen. Also beispielsweise "sch?n" statt "schön".
Das scheint mit dem Zeichensatz der Datenbank zusammenzuhängen. Ich habe auch hier schon experimentiert, aber leider ohne Erfolg. Ich konnte durch ändern des Zeichensatzes beim Import auf Latin1 die Fragezeichen durch Fragezeichen in schwarzem auf der Spitze stehendem Quadrat ersetzen.
Die vom alten Server exportierte Datenbank besitzt den Zeichensatz "Latin1", der neue Server scheint "UTF8" zu benutzen.

Wie kann ich das korrigieren? Mir fehlt da der irgendwie der Überblick.
Benutzeravatar
Lighty
Beiträge: 8394
Registriert: 24.08.2006, 02:28

Beitrag von Lighty »

Hallo gba !

Welche Version hast du denn installiert und welche MySQL-Version wird verwendet !?
LG, Lighty
gba
Beiträge: 17
Registriert: 11.11.2017, 20:02

Beitrag von gba »

Hallo Lighty,

ich habe jetzt PHP 7.0 laufen und MariaDB 5.5.56.
Die Forensoftware ist 4.2.1.

Der alte Server nutzt PHP 5.4.41-1~dotdeb+6.1 und Mysql 5.1.73.

Heute habe ich wieder experimentiert, leider aber ohne Erfolg.
Wenn ich einen neuen Post schreibe, dann werden die Umlaute korrekt wiedergegeben ( ö -> ö). Wenn ich im SQL-Dump ein ö durch ö ersetze und das dann importiere, dann passiert leider nicht was ich erwarte.
Mir fehlt wohl Wissen um die Zusammenhänge.
AranankA
Beiträge: 1558
Registriert: 11.09.2006, 10:12

Beitrag von AranankA »

Für einen Außenstehenden: Wie ist eigentlich die Datenbankverbindung innerhalb der Forensoftware bei Nutzung von PHP7 geplant? MySQLi oder PDO? Oder liegt das in den Händen des Administrators?

Schau mal bitte hier. Das hat schon vielen mit identischer Problematik geholfen!
Evtl. auch mal hier schauen.

Artikel, mit Hilfepotential: hier.
Benutzeravatar
Lighty
Beiträge: 8394
Registriert: 24.08.2006, 02:28

Beitrag von Lighty »

Hallo gba !

... sorry, bin derzeit leicht außer Gefecht - daher nur kurz !
gba hat geschrieben:ich habe jetzt PHP 7.0 laufen und MariaDB 5.5.56.
Die Forensoftware ist 4.2.1.

Der alte Server nutzt PHP 5.4.41-1~dotdeb+6.1 und Mysql 5.1.73.
Schau mal bitte in die config.inc.php und suche nach folgenden Zeilen !
[PHP]define('CHARSET', 'ISO-8859-1');
define('REPLACE_FLAGS', ENT_COMPAT | ENT_XHTML);[/PHP]

... sollte das nicht vorhanden sein, schau dir bitte mal dieses Thema an !
http://www.lightys-pchilfe-forum.info/t ... goto=31772

Bist du sicher das du PHP 7 nutzt !?
Das habe ich in einem Testforum nämlich bisher nicht ans laufen bekommen - da hagelt es Fehler ! :D
LG, Lighty
gba
Beiträge: 17
Registriert: 11.11.2017, 20:02

Beitrag von gba »

Hallo,

ich hatte aus privaten Gründen die letzten Wochen keine Zeit mich um das Problem zu kümmern, werde das aber demnächst wieder tun.
gba
Beiträge: 17
Registriert: 11.11.2017, 20:02

Beitrag von gba »

So, heute habe ich weiter an dem Problem gearbeitet.

Mit dem Aussage auf dem Server läuft php7.0 habe ich mich geirrt. Da die php-Version für jedes Verzeichnis unterschiedlich eingestellt werden kann hatte ich da das falsche Verzeichnis eingestellt.

Ich habe für das Forum php 5.6.32 eingestellt, Mysql ist Version 5.5.56-MariaDB.

Nachdem ich schon erste Erfolge mit dem Zeichensatzproblem erreicht hatte habe ich leider einen echt doofen Fehler gemacht:
Ich habe mal testweise php 7.1 eingestellt ohne vorher ein Backup gemacht zu haben. Seit dem läuft es leider nicht mehr, ich bekomme keine Ausgabe mehr, wenn ich das Forum aufrufe. Ich habe wieder auf php 5.6 zurückgestellt, aber da tut sich trotzdem nichts.

Meine Untersuchung hat ergeben, dass die index.php gestartet wird, aber schon die head.php scheint nicht gefunden zu werden, denn die Programmausführung bricht ab.
Wie kommt das, bzw. wie behebe ich diesen Fehler?
Benutzeravatar
Lighty
Beiträge: 8394
Registriert: 24.08.2006, 02:28

Beitrag von Lighty »

Hallo gba !

... muss ich erst testen - ich weiß nicht was verbockt wird, wenn man kurz mal auf PHP 7 umstellt !
Ich weiß nur, dass das pmf aktuell leider nicht mit PHP 7 läuft ! :(
LG, Lighty
gba
Beiträge: 17
Registriert: 11.11.2017, 20:02

Beitrag von gba »

So, ich habe nochmal weiter getestet.
Es ist so, dass die head.php nicht aufgerufen wird. Ich habe da einige echo-Zeilen reingeschrieben, ebenso wie in die index.php, und die Echo-Ausgaben der head.php fehlen. Danach kommt aus der index.php nichts mehr.
Außerdem habe ich mal eine eigene kleine php-Datei geschrieben, die nur eine echo-Ausgabe beinhaltet. Die habe ich mit require eingebunden und deren Ausgabe kommt. Also scheint es nicht am Dateipfad zu liegen.
gba
Beiträge: 17
Registriert: 11.11.2017, 20:02

Beitrag von gba »

Habe das Problem weiter untersucht. Ich hatte bei meiner Fehlersuche einen Syntaxfehler eingebaut (ach, ich vermisse die Debug-Möglichkeiten der PC-Compiler...).
Die "head.php" wird aufgerufen. Die Programmausführung stoppt jetzt in dieser Zeile der "head.php":
$_db = new pmf_db($_cfg['DB_SERVER'], $_cfg['DB_USER'], $_cfg['DB_PASS'], $_cfg['DB_NAME'], $_cfg['DB_PCONNECT']);

Meine Internetrecherche ergab, dass diese Zeile mit Klassen zu tun hat.
Kann es sein, dass ich da eine PHP-Erweiterung brauche?
Benutzeravatar
Lighty
Beiträge: 8394
Registriert: 24.08.2006, 02:28

Beitrag von Lighty »

... mmmmh !?
Das ist u.a. auch ein Fehler von PHP 7 !
Bist du sicher, dass der Server wieder mit PHP 5 läuft !?
LG, Lighty
gba
Beiträge: 17
Registriert: 11.11.2017, 20:02

Beitrag von gba »

Ich denke schon, phpinfo() sagt in diesem Verzeichnis:

Core
PHP Version 5.6.32

Gruß Gerhard
gba
Beiträge: 17
Registriert: 11.11.2017, 20:02

Beitrag von gba »

So, nach einer recht langen Frustpause habe ich mich wieder mit dem Forum beschäftigt und auch einen Vereinskollegen gefunden, der PHP kann. Er hat das Forum jetzt mal so angepasst, dass es wieder unter php5.6 läuft.
Bin gerade dabei zu testen, ob alles richtig funktioniert.
AranankA
Beiträge: 1558
Registriert: 11.09.2006, 10:12

Beitrag von AranankA »

Ich verstehe irgendwie nicht, was das Ganze soll! Seit Mitte 2014 ist PHP 7 draußen und sollte eigentlich inzwischen etablierter Standard für alle Entwickler sein. Schon alleine aus Sicherheitsgründen! Von der besseren Performance mal ganz abgesehen...
Viele Komponenten der alten PHP Versionen sind stillgelegt oder auf deprecated geschaltet, können oder sollen also nicht mehr angewendet werden. Datenbankanbindung sollte eigentlich ausschließlich per PDO erfolgen; der mysql Kram ist faktisch schon sträflicher Leichtsinn.

Und statt sich mit diesen Tatsachen zu beschäftigen, wird hier auf olle Kammelle runtergeschaltet und sich damit mehr Arbeit gemacht, als sich lohnt.

Wenn in nicht all zu ferner Zukunft sich die Provider* zusammen tun und alles unter 7.0.* rausnehmen ("aus Gründen der Abwärtskompatibilität beibehalten" noch unterstützt, heißt nicht, dass das ewig drin bleibt!), die alten Versionen gezielt ausbremsen, dann ist das Gejammer groß.


* Und nicht nur die! Die Browservertreiber zeigen ja ständig, wie es gehen kann: da wird rausgeschmissen, zwangsgeleitet und vorgeschrieben, das es nur so kracht (siehe FlashPlayer...). Die nehmen dann einfach die Unterstützung für alles unter 7 raus. Zumal PHP 5.6 ab nächsten Jahr nicht mehr supportet wird, geht das schneller, als man schauen kann! Und dann ist auch im privaten Sektor Schluß mit PHP 5.x.
Benutzeravatar
Lighty
Beiträge: 8394
Registriert: 24.08.2006, 02:28

Beitrag von Lighty »

Hallo gba !
gba hat geschrieben:Er hat das Forum jetzt mal so angepasst, dass es wieder unter php5.6 läuft.
Bin gerade dabei zu testen, ob alles richtig funktioniert.
... mmmh !?
PHP 5.6 war bisher eigentlich kein Problem - da waren auch nicht viele Änderungen erforderlich !
Für PHP 7 fehlt mir aktuell allerdings der Ansatz ! :(

@Arananka
... ja ja ja, reden kann man viel - das Umsetzen ist das Problem ! ;)
Bisher sind alle Versuche die Software umzuändern mit Fehlermeldungen ( und nicht gerade wenige ) quittiert worden !
LG, Lighty
Antworten

Zurück zu „phpmyforum“