Norbert: Umlaute sind bei der Ausgabe kaputt

Hallo,

ich weiß das Thema wurde schon öfters behandelt und ich habe auch einige der Beiträge gelesen, doch habe ich auch ein Problem mit den Sonderzeichen bei der Ausgabe aus einer mysqli Datenbank. Die Daten sind in einer mysqli Datenbank gepeichert (öäü):

Typ: InnoDB, Kollation: utf8_general_ci

In meinem html Header steht:

<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

Die Datenbak wird über pdo aufgerufen

$pdo = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_password);

Norbert

  1. Hallo Norbert,

    ich weiß das Thema wurde schon öfters behandelt und ich habe auch einige der Beiträge gelesen,

    https://wiki.selfhtml.org/wiki/Zeichenkodierung/MySQL

    doch habe ich auch ein Problem mit den Sonderzeichen bei der Ausgabe aus einer mysqli Datenbank. Die Daten sind in einer mysqli Datenbank gepeichert (öäü):

    https://wiki.selfhtml.org/wiki/Sonderzeichen

    Bis demnächst
    Matthias

    --
    Rosen sind rot.
  2. Hej Norbert,

    in aller Kürze: so weit ich weiß, muss dieselbe Kodierung durchgängig verwendet werden. Das heißt nicht nur für die Speicherung und die Ausgabe, sondern auch beim Transport (http-header) — wenn das nicht (mehr) gilt, widerspricht hoffentlich jemand?!?

    Marc

    1. Tach!

      in aller Kürze: so weit ich weiß, muss dieselbe Kodierung durchgängig verwendet werden. Das heißt nicht nur für die Speicherung und die Ausgabe, sondern auch beim Transport (http-header) — wenn das nicht (mehr) gilt, widerspricht hoffentlich jemand?!?

      Muss nicht, ist aber sinnvoll. Es muss immer nur dem nächsten Schritt die verwendete Kodierung mitgeteilt werden, und die Daten dementsprechend kodiert sein. Man kann für jeden Schritt umkodieren, aber das ist dann auch mit Datenverlust verbunden, wenn die neue Kodierung die Zeichen der bisherigen nicht kodieren kann. Praktisch heißt das dann doch wieder: durchgängig dieselbe Kodierung (oder zumindest eine der möglichen für den verwendeten Zeichensatz).

      dedlfix.

      1. @@dedlfix

        Praktisch heißt das dann doch wieder: durchgängig dieselbe Kodierung (oder zumindest eine der möglichen für den verwendeten Zeichensatz).

        Praktisch heißt das dann doch wieder: Es gibt keine anderen Codierungen außer UTF-8.

        LLAP 🖖

        --
        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
        1. Tach!

          Praktisch heißt das dann doch wieder: durchgängig dieselbe Kodierung (oder zumindest eine der möglichen für den verwendeten Zeichensatz).

          Praktisch heißt das dann doch wieder: Es gibt keine anderen Codierungen außer UTF-8.

          "Es gibt keine anderen" wäre gelogen. Denn wenn es keine anderen gäbe, müsste man auch nicht ständig dem nächsten Schritt erzählen, dass man Kodierung X nimmt.

          Besser ist es, nicht die anderen zu verleugnen, sondern sich bewusst für eine bestimmte zu entscheiden.

          dedlfix.

          1. @@dedlfix

            Praktisch heißt das dann doch wieder: Es gibt keine anderen Codierungen außer UTF-8.

            "Es gibt keine anderen" wäre gelogen.

            Eine Notlüge, gewiss. Oder wie es bei Terry Pratchett, Ian Stewart, Jack Cohen in „Die Gelehrten der Scheibenwelt“ heißt: eine Lüge-für-Kinder. Eine durchaus sinnvolle Vereinfachung.

            Besser ist es, nicht die anderen zu verleugnen

            Wozu andere mit in dem Zusammenhang unnützem Zeugs überfrachten?

            LLAP 🖖

            --
            „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
            1. Tach!

              Praktisch heißt das dann doch wieder: Es gibt keine anderen Codierungen außer UTF-8.

              "Es gibt keine anderen" wäre gelogen.

              Eine Notlüge, gewiss. Oder wie es bei Terry Pratchett, Ian Stewart, Jack Cohen in „Die Gelehrten der Scheibenwelt“ heißt: eine Lüge-für-Kinder. Eine durchaus sinnvolle Vereinfachung.

              Einfachheit ja. Zu einfach ist aber auch kaputt.

              Besser ist es, nicht die anderen zu verleugnen

              Wozu andere mit in dem Zusammenhang unnützem Zeugs überfrachten?

              Wozu die Übertreibung, wer redet denn von überfrachten?

              Es ist schlicht notwendig, zur Unterscheidung von den anderen, den Namen der verwendeten anzugeben. Man muss wissen, dass man nicht allein ist. Details zu den anderen kann man weglassen, aber nicht dass es sie gibt.

              dedlfix.