Seite 1 von 1

Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 26.03.2013 23:47
von Z-MANN
Hi,
---und noch ein Problem! :oops:

Habe bei meinen phpBB 2 (nein ich möchte noch nicht wechseln) Forum den Datenbank wechsel von MySQL 4 auf MySQL 5 erfolgreich vollzogen und alles Funktioniert(e).

Muß nun gezwungenermaßen von PHP 4 auf PHP 5.4 wechseln, da PHP 4 in einer Woche endgültig Abgeschaltet wird.
Wenn das Forum auf PHP 5.4 steht gibt es probleme mit den Umlauten (Ä,Ö,Ü,ß) wenn man Beiträge verfasst.

1. Wenn man Umlaute in der Titel (Betreff) Zeile verwendet ist der komplette Text verschwunden wenn man den Post abgeschickt hat.
2. Wenn man Umlaute im Beitragsfeld verwendet und die Vorschau verwendet ist der Komplette Text samt Überschrift verschwunden, wenn man den Post ohne Vorschau versendet bleiben die Umlaute im Beitragstext bestehen!?

Ich vermute mal das es an der neuen Datenbankversion nicht liegt, denn wenn ich auf PHP 4 zurück wechsel (was noch ein paar Tage geht) funktioniert alles Problemlos.

Hoffe es kann mir jemand Helfen wie man dies in den Griff bekommen kann? :cry:

Gruß

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 27.03.2013 09:22
von Gast234254

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 28.03.2013 17:25
von Z-MANN

Und??? Was soll mir das helfen?

Meinen Beitrag bitte richtig Lesen. Mit der Datenbank ist alles OK.

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 28.03.2013 17:36
von Gast234254

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 28.03.2013 17:48
von Z-MANN
Das hört sich schon mal besser an. Danke.

Nur wo setze ich

Code: Alles auswählen

htmlentities($text, ENT_COMPAT | ENT_HTML401, “ISO-8859-1″);
ein!?

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 28.03.2013 18:04
von Gast234254
Ich denk ich habe jetzt was passenderes gefunden

phpBB 2 and php 5.4.9

Ist zwar auf English, aber erläutert ein fixed für phpbb2

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 28.03.2013 18:27
von Z-MANN
wintstar hat geschrieben:Ich denk ich habe jetzt was passenderes gefunden

phpBB 2 and php 5.4.9

Ist zwar auf English, aber erläutert ein fixed für phpbb2
Habe mir mal den Fix dort runtergeladen.

Dort steht:

Code: Alles auswählen

############################################################ 
## Authors' note: 
## 
##    You have to know that we didn't make those fixes for a vanila version of phpBB 2 but 
##    for a premodded version (named "premod shadow"). That means that we put our efforts on
##    the Shadow version, and then we applied the modifications on a vanila forum which 
##    was only tested in local. So we maybe not fixed all errors but we fixed all those we have seen.
##
##    We didn't edit the mysql.php file because we think that nobody use it now (too old). 
##    The mysql4.php file is compatible from PHP 4 to PHP 5.5.
##    The mysqli.php file if compatible for any version of PHP 5.
##
##    Also we didn't edit the db2.php, msaccess.php, mssql.php, mssql-odbc.php and postgres7.php files 
##    (because our premod is based on mysql/mysql4/mysqli)
##    
##
##    Fix for PHP 5.4+ (description of the problem before the fix):
##    -------------------------------------------------------------
##
##    If a member had an accent in his name, he can not login unless he changes the accent by the 
##    same letter w/o accent. IE : Somebody's name is "Téki", he can not login himself if he write "Téki", he has
##  to write "Teki". 
##
##    If someone wants to create a new account with an accent in his name, the forum will give 
##    him this message : "You must fill in the required fields."
##
##    When someone wants to preview a message, the page is reloaded but instead to see the preview box, he 
##    only has the posting like if he didn't click on the preview button.
##
##
##    Fix for some errors :
##    --------------------
##
##    We displayed the following errors : E_ERROR, E_WARNING, E_PARSE, E_NOTICE, E_STRICT, E_DEPRECATED
##    We fixed all of them (at least all those we have seen) and then we removed the error_reporting.
##
##
##    Fix for IPv6 :
##    --------------
##
##    We extended the compatibility of phpBB 2 to IPv6. 
Da steht was von "mysql4", habe aber schon MySQL 5 geht das dann Trotzdem noch!?

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 28.03.2013 18:39
von Gast234254
Habe noch nie mit phpBB2 zu tun gehabt. Aber dennoch habe ich eben local von hier phpBB2 unter php 5.4 fehlerfrei installiert. Auch ein Beitrag mit Umlauten ließ sich fehlerfrei erstellen. Da war die Frage nach mysql4/5 während der Installation dabei. Lade dir das Paket runter und vergleiche die Dateien mit KDiff. Mehr wüßte ich auch nicht mehr.

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 25.08.2017 23:59
von Thies
Hallo,

auch wenn das Thema etwas älter ist, kann es ja sein, dass immer noch Nutzer einer phpbb2-Version nach der Lösung für das Umlauteproblem bei Überschriften in den Threads suchen:

In der Datei includes/functions_post.php muss die Zeile

Code: Alles auswählen

$subject = htmlspecialchars(trim($subject));
durch

Code: Alles auswählen

$subject = htmlspecialchars(trim($subject), ENT_COMPAT | ENT_HTML401, "ISO-8859-1");
ersetzt werden. Hat zumindest bei mir geholfen.

VG

Frank

Re: Umlaute funktionieren nicht nach Umstellung auf PHP 5.4

Verfasst: 20.09.2017 08:21
von gn#36
Mysql unterstützt Zeichensatzanpassungen, wenn man die Daten aus der DB holt. Je nachdem wie die Probleme genau aussehen könnte es reichen, wenn du den Standardzeichensatz der Verbindung korrigierst. Siehe z.B. [php:mysql_set_charset].

Wichtig ist, dass Zeichensatz und Anzeige zusammenpassen, das kann die einen oder anderen Kopfschmerzen verursachen. Beispielsweise musst du, wenn die Seite selbst latin1 codiert an den Browser geht natürlich auch die Texte aus der DB latin1 codiert schicken. Wenn die Seite als utf8 geschickt wird, dann müssen die Daten aus der DB ebenfalls utf8 codiert sein.

Wenn die Umstellung auf eine andere PHP Version das Problem ist, dann ist vielleicht der PHP default charset geändert worden. phpBB 2.x hat sich darum noch nicht gekümmert. Eventuell kannst du dir mit einem einfachen

Code: Alles auswählen

ini_set("default_charset", "iso-8859-1"); 
in der common.php behelfen (oder je nachdem ein anderer Zeichensatz, je nachdem was richtig ist).