Volker: PHP, MySQL und UTF-8

Hallo zusammen,

ich habe ein Problem bei der Umstellung meiner Website und Datenbanken von ISO-8859-1 auf UTF-8.

Die Datenbankinhalte habe ich per PHP-Funktion utf8_encode(...) kodiert, alle entsprechenden MySQL-Zellen haben als Kollation utf8_unicode_ci und die Kollation der MySQL-Verbindung steht in phpMyAdmin ebenfalls auf utf8_unicode_ci.

In der per PHP generierten HTML-Datei steht im Header
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />

aber trotzdem werden ä,ö, und ü im Browser nicht korrekt angezeigt.

Was habe ich übersehen?
Danke im Voraus für Hilfe.

Gruß, Volker

  1. Hi Volker!

    Was habe ich übersehen?

    Die Contentheader und die Kodierung der Dateien.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Die Contentheader und die Kodierung der Dateien.

      Meinst du mit der Codierung der Dateien die jeweiligen PHP-Dateien? Die sind von eclipse ebenfalls im UTF-8 - Format abgespeichert worden.

      Was genau meinst du mit Contentheader?

      Gruß, Volker

      1. header('Content-type: text/html; charset=utf-8');

        Das da vermute ich.
        Grüße.

        1. header('Content-type: text/html; charset=utf-8');

          Hm, der Sinn davon wird mir zwar nicht ganz klar, aber davon abgesehen bringt das keine Änderung ;-).

          Gruß, Volker

  2. Hi,

    darueber kannst du in funpic.de forum lesen, vielleicht Hilft:

    http://www.funpic.de/forum/webhosting/ltopic,46798,0,asc,0,cae9b5947a948ca3f8c8b56493b2faac.html

    LG,
    Inita

  3. echo $begrüßung;

    die Kollation der MySQL-Verbindung steht in phpMyAdmin ebenfalls auf utf8_unicode_ci.

    Das ist die Einstellung, die sich der PMA für seine Verbindungen gesetzt hat. Für deine eigenen Verbindungen gilt diese nicht. Wenn du nicht explizit eine mit SET NAMES ... (oder mit der entsprechenden mysqli-Funktion, falls du mysqli verwendest) angibst, gilt die Default-Einstellung des Servers. Diese ist in den Systemvariablen zu finden, die dir der PMA anzeigen kann. Falls da eine zweite Zeile mit "(Globaler Wert)" steht, gilt diese, die erste ist dann die Einstellung, die sich der PMA für seine Verbindungen eingestellt hat.

    echo "$verabschiedung $name";

    1. Falls da eine zweite Zeile mit "(Globaler Wert)" steht, gilt diese, die erste ist dann die Einstellung, die sich der PMA für seine Verbindungen eingestellt hat.

      Tatsache, das scheint das Problem zu sein.
      Danke.

      Gruß, Volker