mysql-Datenbank Zeichensatz
24.11.17, 00:06:10
gba
Beitrag geändert von: gba - 24.11.17, 00:08:17
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.
03.12.17, 11:23:24
Lighty
Hallo gba !
Welche Version hast du denn installiert und welche MySQL-Version wird verwendet !?
05.12.17, 23:36:59
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.
06.12.17, 07:24:44
AranankA
Beitrag geändert von: AranankA - 06.12.17, 07:28:28
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.
08.12.17, 23:56:09
Lighty
Hallo gba !
... sorry, bin derzeit leicht außer Gefecht - daher nur kurz !
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:
1:
2:
|
define('CHARSET', 'ISO-8859-1');
define('REPLACE_FLAGS', ENT_COMPAT | ENT_XHTML);
|
... sollte das nicht vorhanden sein, schau dir bitte mal dieses Thema an !
http://www.lightys-pchilfe-forum.info/topic.php?id=8492&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
26.01.18, 23:39:46
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.
27.01.18, 23:24:25
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?
28.01.18, 22:37:12
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 ! :(
29.01.18, 19:37:39
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.
01.02.18, 23:21:45
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?
03.02.18, 00:59:20
Lighty
Beitrag geändert von: Lighty - 03.02.18, 00:59:38
... mmmmh !?
Das ist u.a. auch ein Fehler von PHP 7 !
Bist du sicher, dass der Server wieder mit PHP 5 läuft !?
04.02.18, 13:50:35
gba
Ich denke schon, phpinfo() sagt in diesem Verzeichnis:
Core
PHP Version 5.6.32
Gruß Gerhard