Umlauteproblem bei Umstellung PHP-Version von 5.3 auf 5.6

Hallo zusammen,

ich habe eine Frage zur Codierung der Umlaute bei Umstellung der PHP-Version von 5.3 auf 5.6.

Und zwar werden die Umlaute nach der Umstellung wie folgt dargestellt: �

Ich kenne mich leider nicht sehr gut aus mit PHP, habe mich aber schon ein wenig darüber informiert, dass es mit der Zeichensatzcodierung zu tun haben könnte.

Folgende Einstellungen sind aktuell gesetzt:

MySQL-Zeichensatz: UTF-8 Unicode (utf8)
Kollation der MySQL-Verbindung: utf8_general_ci
Tabellen-Kollation: utf8_general_ci
php.ini: default_charset = „UTF-8“

Hat leider alles nicht geholfen…

Allerdings muss man noch dazu sagen, dass reine HTML-Inhalte, die nicht erst aus der Datenbank ausgelesen werden, ebenfalls schon nicht korrekt dargestellt werden.

Wäre für Ideen/Anregungen dankbar :slight_smile:

Hallo,

ist die Änderung von PHP 5.3 zu 5.6 denn das einzige, was am System geändert wurde?

Die Umlaut-Probleme liegen nämlich gerne auch mal am Webserver.

Gruß,
Steve

Hallo Erik,

am saubersten „funktionieren“ Umlaute, wenn sie als HTML-Entity angegeben werden, also z. B. ä für ä. Je nach Umfang, kann aber eine komplette Änderung schon einige Zeit kosten, wenn man es nicht von Anfang an gemacht hat. Was sind das für Inhalte? Ist es ein Content-Management-System, oder woher kommen die Daten? Was steht im „Kopf“ der Datei? Es kann sein, dass dort die falsche Codierung angegeben ist.

Dort müsste auch so etwas wie <meta charset="utf-8"/> stehen.

Gruß
Christa

Hallo zusammen,

vielen Dank für Eure Antworten.

Das mit der UTF-Codierung habe ich inzwischen drin, bewirkt aber leider nichts.

Im Header steht:

<meta http-equiv="content-type" content="text/html; charset=utf-8">

Das mit HTML-Entity funktioniert zwar, aber da der Großteil der Texte aus der Datenbank kommt - und es ist nicht wenig Text - wäre das wohl sehr mühselig zu ändern, nehme ich an.

Ich vermute langsam wirklich, dass es an irgendwelchen Einstellungen am Server liegt. Leider habe ich keinen Root-Zugriff darauf. Soweit mir bekannt ist, wurde dort nur die PHP-Version geändert. Ansonsten müsste ich noch mal nachfragen, ob das wirklich so ist.

Gruß, Erik

entities sollten nicht notwendig sein.
http://www.w3.org/International/questions/qa-escapes.de#not

prüfe mit firebug/webdeveloper-toolbar, welche header ausgeliefert werden.
sonst rantasten und die fehlerquelle eingrenzen

  • browser pruefen - damit der korrekte seiten korrekt ausliefert.
  • html statisch speichern, statisch vom webserver ausliefern lassen - damit php nix kaputt machten kann.
  • html validieren.
  • dann als php speichern und das statische html vom php ausgeben lassen.

Hallo,

ich habe nun mit dem Support Kontakt aufgenommen. Dieser hat mir empfohlen, folgendes in die .htaccess Datei einzutragen:

php_value default_charset ISO-8859-1
AddDefaultCharset ISO-8859-1
AddCharset ISO-8859-1 .html .css .js .php

Es sieht so aus, als würde nun alles korrekt funktionieren… :smile: