Dense: Umlaute werden nicht richtig angezeigt

Hallo Forumers,

ein eingebundenes phpbb Forum zeigt Umlaute nicht richtig an.

Mein Freund "Google" sagt mir, dass dieses Problem sehr häufig auftritt es aber keine "eindeutige Lösung" aber eine eindeutige Ursache gibt.

Diese Erörterung beschreibt den Sachverhalt sehr genau, aber ich werde nicht so recht schlau daraus.
http://www.mysqldumper.de/board/viewtopic.php?t=2313

Das besagte Forum befindet sich auf: http://www.lauf-kultour.de/forum.html

Ich weiß nicht in wie weit euch folgende Infos dabei helfen könnten mir eine Rat zu geben:

Host: max network
 >>>localhost

* Server Version: 5.0.32-Debian_7etch1-log
    * Protokoll-Version: 10
    * Server: Localhost via UNIX socket

MySQL-Zeichensatz:  UTF-8 Unicode (utf8)
Zeichensatz / Kollation der MySQL-Verbindung: utf8_unicode_ci

MySQL-Client-Version: 5.0.32

Verwandte php-Erweiterungen: mysql

Im der lang_main.php (besitzt die eingefügten Phrasen für´s Forum) befindet sich zu Beginn folgende Zeile:

$lang['ENCODING'] = 'iso-8859-1';

Meine HTML logischer Weise:

<meta http-equiv="Content-Type" content="text/html; charset=ISO 8859-1"

Soweit ich aus dem oberen Artikel verstanden habe...liegt es nicht daran sondern an der Art wie ich mein Forum "einspiele". Und dabei besonders an  character_set_client und character_set_connection.

Wenn mir das irgenwer noch mal etwas näher bringen könnte wär das echt gediegen.

Danke im Vorraus für eure Mühen.

Dense

  1. Diese Erörterung beschreibt den Sachverhalt sehr genau, aber ich werde nicht so recht schlau daraus.
    http://www.mysqldumper.de/board/viewtopic.php?t=2313

    Was verstehst Du an:
    "
    Die Theorie - warum kommt es überhaupt zu Umlautproblemen?

    Einfach ausgedrückt: das liegt an unterschiedlichen MySQL-Server-Versionen mit unterschiedlich eingestellten Standard-Zeichensätzen.
    "
    nicht?

    Ich habe mir nicht alles durchgelesen, aber vermutlich steht da auch eine Lösung, oder?

    1. He Lully,

      verstehen schon. Aber ich finde keine Lösung für die Ursache.

      Dense

  2. Hallo!

    Hallo Forumers,

    ein eingebundenes phpbb Forum zeigt Umlaute nicht richtig an.
    [...]

    $lang['ENCODING'] = 'iso-8859-1';

    Gebe doch da mal UTF-8 ein.

    Im Header steht: <meta http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">

    Der Browser springt in das Charset UTF-8. Es wird ja auch "Content-Type: text/html; charset=UTF-8" gesendet.

    ----------------------------------------------------------><8-----------------------------------------------------
    Neue Ideen oder Verbesserungen
    Habt Ihr eine Idee wie man etwas besser machen könnte, dann werdet es hier los.    0  0  Keine Beitr�ge
    ----------------------------------------------------------><8-----------------------------------------------------

    Wenn ich mir das so anschaue, habe ich den Verdacht, dass die Daten aus der Datenbank richtig kodiert (siehe können) heraus kommen: "Habt Ihr eine Idee wie man etwas besser machen könnte, dann werdet es hier los."

    Bei "Keine Beitr�ge" kommt es aber zu einem Anzeigefehler.

    Sobald man im Browser das Charset auf ISO 8859-1, wird es verkehrt herum falsch angezeigt.

    Ich würde als erstes schauen, ob Deine HTML-Templates in UTF-8 abgespeichert sind, wenn dort "Keine Beiträge" abgespeichert ist.

    André Laugks

    --
    Die Frau geht, die Hilti bleibt!
    1. Hallo André,

      $lang['ENCODING'] = 'iso-8859-1';

      Gebe doch da mal UTF-8 ein.

      Das hab ich schon. Bringt auch nichts.
      ----------------------------------------------------------><8-----------------------------------------------------

      Neue Ideen oder Verbesserungen
      Habt Ihr eine Idee wie man etwas besser machen könnte, dann werdet es hier los.    0  0  Keine Beitr�ge
      ----------------------------------------------------------><8-----------------------------------------------------

      Das is mir eben auch aufgefallen. Deshalb suche ich nach der Datei wo diese "Phrasen" fürs gesamte Forum enthalten sind. Es scheint sic h dabei um die lang_main.php zu handeln. allerdings bringt es wie gesagt nichts das encoding zu ändern.

      Ich würde als erstes schauen, ob Deine HTML-Templates in UTF-8 abgespeichert sind, wenn dort "Keine Beiträge" abgespeichert ist.

      Weiß ich jetzt nicht genau, was du damit meinst. Das Forum wird ja in nem Iframe geladen. (forum.html läd forum.php in den iframe) Bei beiden Dokumenten habe ich bereits die Codierung geändert. (alle 4 Möglichkeiten) doch es ändert sich nichts.

      Weitere Ideen?

      Dense

  3. Ok, es funktioniert jetzt.

    Folgendes:

    1. lang_main.php (Datei mit den falsch angezeigten Umlauten) in Textpad öffnen

    2. mit der Codierung UTF-8 speichern.

    3. hochladen

    4. *freu´n*

    Dense

  4. echo $begrüßung;

    MySQL-Zeichensatz:  UTF-8 Unicode (utf8)
    Zeichensatz / Kollation der MySQL-Verbindung: utf8_unicode_ci

    Die beiden Zeilen scheinen die Angaben der Startseite des phpMyAdmin zu sein. Die sind für andere Clients/Scripte nicht weiter relevant. Solange ein Client für seine eigene Verbindung keine Zeichenkodierung mit dem MySQL-Server aushandelt, wird die Server-Default-Einstellung verwendet. Welche das ist, steht auf der Seite "MySQL-System-Variablen anzeigen". Die Werte beginnen mit "character set" und falls vorhanden gilt die Angabe in der Zeile "(Globaler Wert)". Verwendet ein Client eine andere Kodierung, so muss er das dem Server nach dem Verbindungsaufbau mitteilen.

    Soweit ich aus dem oberen Artikel verstanden habe...liegt es nicht daran sondern an der Art wie ich mein Forum "einspiele". Und dabei besonders an  character_set_client und character_set_connection.
    Wenn mir das irgenwer noch mal etwas näher bringen könnte wär das echt gediegen.

    Das MySQL-Handbuch hat eine umfangreiche Beschreibung zu diesem umfangreichen Thema Character Set Support.
    (Die Kurzform der Lösung steht übrigens auf der verlinkten Seite.)

    echo "$verabschiedung $name";