Nochmal zum Problem mit den Umlauten mit Nachtrag (Technics)
Hallo
Ich habe deinen Eintrag mal an den hiesigen Thread gehängt, weil es das selbe Problem ist.
[Umstellung auf mind. PHP 5.5]
Ich habe das mal probehalber gemacht, und da gabs dann im Forum auch das
Problem, das alle Threads und alle Postings in dehnen Umlaute ä, ö ,ü vorkommen
einfach nicht mehr angezeigt werden. Aber eben nicht nur das Wort mit
Umlaut wird nicht mehr angezeigt, sondern der ganze Post, bzw. der ganz
Thread sind einfach leer !?!
Wie du hier bestimmt schon gelesen hast, haben die ersten Versuche, das Problem zu beheben, nicht gefruchtet. Die Suche nach "Problem mit Umlauten ab PHP5.5" lieferte mir einen Eintrag in der FAQ eines Hosters, der eine nachvollziehbare Änderung im PHP-Kern beschreibt.
Das Problem ist, wie ich schon vermutete, die Umstellung der Standardkodierung auf UTF-8, womit die ISO-kodierten Umlaute nicht mehr funktionieren. Der FAQ-Eintrag gibt als Lösung an, die vorgegebene Kodierung für die Anwendung fest auf ISO-8859-1 einzustellen.
Weitere Recherchen führten mich zu mehreren Ansätzen.
1. Einstellung in der php.ini
. Das wird bei Shared-Hosting-Angeboten typischerweise nicht möglich sein. Nähreres dazu bitte beim eigenen Hoster erfragen.
2. Eventuell bieten eure Hoster die Möglichkeit einige der Einstellungen für PHP in einer eigenen php.ini
, gerne auch als user.ini
, in einem Benutzerverzeichnis zu ändern. Auch hierzu bitte mal den Hoster fragen.
php.ini (oder wie auch immer sie heißt):
default_charset = "ISO-8859-1"
3. Vorgabe in einer .htaccess
im Forumsverzeichnis. Leider sind nicht bei allen Hostern alle möglichen Features in der .htaccess
nutzbar. Die obige Angabe sollte aber entweder funktionieren oder einen Fehler mit HTTP-Status 500 auslösen. Bitte mal ausprobieren.
.htaccess:
AddDefaultCharset ISO-8859-1
php_value default_charset ISO-8859-1
[edit]Korrektur des von Alfie gefundenen falschen Dateinamens im nächsten Absatz. Die Datei heißt inc.php
.[/edit]
4. Setzen der Angabe beim Skriptstart. Die Angabe ist, wenn ich nicht falsch liege, in der inc.php
des Forums zu setzen, da die überall eingebunden.
inc.php:
ini_set('default_charset', 'ISO-8859-1');
Ich hoffe, dass mit einem der Ansätze (je nachdem, welcher möglich ist) die Seiten zumindest vollständig, wenn vielleicht auch mit krüppeligen Umlauten, ausgegeben wird. Ich halte den dritten Ansatz mit der .htaccess
am vielversprechendsten. Die Einstellung wäre so bereits mit dem Skriptstart vorhanden und ich gehe zudem davon aus, dass die meisten Hoster diese Angabe erlauben.
Wenn das klappt, können wir weiter sehen. Ich bitte um Rückmeldung.
Was mich nun überhaupt nicht mehr wundert, ist die Tatsache, dass weder Alfies Forum noch mein (abgeschaltetes) davon betroffen sind. Seines läuft noch auf PHP 5.3, meines mit PHP 5.6, aber beide laufen mit (unterschiedlich alten) Testversionen, die UTF-8-Unterstützung haben.
Tschö, Auge
--
Trenne niemals Müll, denn er hat nur eine Silbe!