Ankündigung

Einklappen
Keine Ankündigung bisher.

Umlaute werden falsch dargestellt.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umlaute werden falsch dargestellt.

    Hallo zusammen,

    ich habe aktuell das Problem, dass meine Daten aus der MySQL Tabelle nicht korrekt ausgegeben werden. z.B. wird auf meiner Webseite der Umlaut "Ä" als "Ã�" angezeigt usw.

    Der Zeichensatz/Kollation der MySQL Verbindung: utf8_unicode_ci

    Diese Kollation ist ebenfalls bei allen Tabellenspalten so eingestellt.

    Ebenso habe ich in jeden <head> Bereich meiner Webseite den <meta charset="UTF-8"> Tag.

    Woran kann es noch liegen?


    Liebe Grüße


  • #2
    Die Kollation ist irrelevant. Auch der Meta-Tag ist irrelevant.

    Was wirklich zählt:

    1. Zeichenkodierung der Datenbankverbindung.
    2. Zeichenkodierung, die beim Content-Type im HTTP-Header gesetzt wird.

    Kommentar


    • #3
      Die Zeichenkodierung der Datenbankverbindung ist korrekt. Und was meinst Du mit Punkt 2?

      Wo liegt mein Fehler?

      PHP-Code:
      <!DOCTYPE html>
      <
      html lang="zxx">
      <
      head>
      <
      title>...</title>
          <
      meta charset="UTF-8">
          <
      meta name="description" content="...">
          <
      meta name="keywords" content="...">
          <
      meta name="viewport" content="width=device-width, initial-scale=1.0">
          <!-- 
      Favicon -->
          <
      link href="img/favicon.ico" rel="shortcut icon"/>


          <!-- 
      Google Font -->
          <
      link href="https://fonts.googleapis.com/css?family=Montserrat:400,400i,500,500i,600,600i,700,700i" rel="stylesheet">


          <!-- 
      Stylesheets -->
          <
      link rel="stylesheet" href="css/bootstrap.min.css"/>
          <
      link rel="stylesheet" href="css/font-awesome.min.css"/>
          <
      link rel="stylesheet" href="css/flaticon.css"/>
          <
      link rel="stylesheet" href="css/owl.carousel.min.css"/>
          <
      link rel="stylesheet" href="css/style.css"/>


          <!--[if 
      lt IE 9]>
                <
      script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
            <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
          <![endif]-->

      </head> 

      Kommentar


      • #4
        Habe es auch mit
        PHP-Code:
               <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
        versucht. Leider ohne Erfolg.

        Kommentar


        • #5
          Zitat von AlPaGae Beitrag anzeigen
          Die Zeichenkodierung der Datenbankverbindung ist korrekt.
          Sicher?

          Zitat von AlPaGae Beitrag anzeigen
          Und was meinst Du mit Punkt 2?
          Vor der HTML-Ausgabe:
          PHP-Code:
          header('Content-Type: text/html; charset=utf-8'); 
          Zitat von AlPaGae Beitrag anzeigen
          Habe es auch mit
          PHP-Code:
           <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
          versucht. Leider ohne Erfolg.
          Wie gesagt, Meta-Tags sind irrelevant. Was zählt sind die Angaben im HTTP-Header.

          Kommentar


          • #6
            Habe ich alles schon versucht. Auch
            PHP-Code:
            <?php
            header
            ('Content-Type: text/html; charset=utf-8');
            ?>
            vor der HTML Ausgabe..

            Kommentar


            • #7
              Dateien sind auch alle als "UTF8" ohne BOM gespeichert.

              Kommentar


              • #8
                Irgendwas machst du falsch. Aber ohne zu sehen was du machst, kann man dazu schwer was sagen.

                Kommentar


                • #9
                  Die Daten werden allerdings schon in der MySQL Tabelle falsch dargestellt.. aber ich denke, das ist normal oder?

                  Kommentar


                  • #10
                    Zitat von AlPaGae Beitrag anzeigen
                    Die Daten werden allerdings schon in der MySQL Tabelle falsch dargestellt.. aber ich denke, das ist normal oder?
                    Nein, ist es nicht. Dann sind wohl die Daten kaputt.

                    Kommentar


                    • #11
                      Wie muss ich das verstehen? In einer anderen Datenbank werden die Umlaute ebenfalls falsch dargestellt, auf der Webseite widerum werden sie korrekt ausgegeben. (Webserver bplaced)

                      Und nun geht es um meinen Webserver bei STRATO und die dazugehörige Datenbank, in welcher Umlaute nicht korrekt angezeigt werden, ebenso auf der Webseite.

                      Kommentar


                      • #12
                        Zitat von AlPaGae Beitrag anzeigen
                        Wie muss ich das verstehen? In einer anderen Datenbank werden die Umlaute ebenfalls falsch dargestellt, auf der Webseite widerum werden sie korrekt ausgegeben.
                        Wahrscheinlich wird beim Speichern und Lesen der gleiche Fehler gemacht, und somit hebt er sich wieder auf. Die Daten in der Datenbank sind trotzdem nicht korrekt.

                        Zitat von AlPaGae Beitrag anzeigen
                        Und nun geht es um meinen Webserver bei STRATO und die dazugehörige Datenbank, in welcher Umlaute nicht korrekt angezeigt werden, ebenso auf der Webseite.
                        Verschiedene Server können verschiedene Servereinstellungen haben. Zum Beispiel die Standardkodierung der Datenbankverbindung oder der HTML-Ausgabe. Deswegen ist es wichtig solche Dinge immer explizit in der Anwendung zu setzen und sich nicht auf Servereinstellungen zu verlassen, die mal stimmen können und mal nicht.

                        Kommentar


                        • #13
                          Ich habe gerade festgestellt, dass ich die Umlaute manuell korrigieren kann in der Datenbank und sie dann auch auf der Webseite korrekt dargestellt werden. Es liegt also an der Datenbank. Ich möchte aber, dass neue Daten dort direkt korrekt gespeichert werden und ich sie nicht jedes Mal anpassen muss.. weißt Du vielleicht wie ich das beheben kann? Vielen Dank auch für deine bisherige Hilfe.

                          Kommentar


                          • #14
                            Zitat von AlPaGae Beitrag anzeigen
                            Ich möchte aber, dass neue Daten dort direkt korrekt gespeichert werden und ich sie nicht jedes Mal anpassen muss.. weißt Du vielleicht wie ich das beheben kann?
                            Habe ich in #2 geschrieben:

                            Was wirklich zählt:

                            1. Zeichenkodierung der Datenbankverbindung.
                            2. Zeichenkodierung, die beim Content-Type im HTTP-Header gesetzt wird.
                            Und wie gesagt, ohne den Code zu kennen, kann man nicht sagen, was falsch gemacht wird. Wie es richtig gemacht wird, dafür gibts ja haufenweise Beispiele und Anleitungen im Internet. Zum Beispiel im offiziellen PHP-Handbuch.

                            Kommentar


                            • #15
                              Ich verstehe schon, was Du meinst. Ich denke aber, da die Umlaute auf der Webseite korrekt dargestellt werden, liegt der Fehler in der Datenbank. Ich habe als Zeichensatz/Kollation der MySQL-Verbindung "utf8_unicode_ci" ausgewählt und trotzdem werden Umlaute falsch dargestellt.

                              Kommentar

                              Lädt...
                              X