Meta Tag Charset

  • Hallo,

    ich möchte laufend aktualisierte Steuertexte in meine Seite einfügen. Das klappt auch, aber es werden keine Umlaute dargestellt. Der Anbieter meint man soll folgendes Skript in den Header schreiben, aber über additional meta klappt das nicht. Wie kann ich das lösen? Wo muss das hin?

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

    Besten Dank im Voraus.

    Dagmar

  • Hallo Dagmar,

    das Charset wird in Zeta unter "Erweitert" -> "Erweiterte Einstellungen" -> "Codierung" eingestellt. Die Standardeinstellung ist "UTF-8".

    Dein Anbieter hat serverseitig aber die Voreinstellung "ISO-8859-1" verwendet. Durch die unterschiedliche Codierung werden Umlaute nicht dargestellt und einige Sonderzeichen anders dargestellt, als von Zeta Producer ausgeliefert. ISO-8859-1 unterstützt beispielsweise kein €-Zeichen und keine französischen Akcents. Mit UTF-8 hingegen lassen sich mehr als 4 Billionen unterschiedliche Zeichen darstellen, da ist also nach gegenwärtigem Stand noch Platz für ganze neue Sprachen ;) . Mit einer Verbreitung von 93% auf allen Webseiten weltweit ist UTF-8 quasi Standard.

    Lösung:

    Da Du vermutlich den Hoster nicht davon überzeugen kannst, die Standardeinstellung des Hostingpaketes auf UTF-8 zu ändern, hilft hier nur die Erzwingung von UTF-8 mittels .htaccess. Dazu füge folgenden Abschnitt in die .htaccess ein:

    Code
    # Beginn UTF-8
    AddCharset UTF-8 .html
    AddCharset UTF-8 .php
    # Ende UTF-8

    Falls Du noch keine Erfahrung mit der .htaccess hast, lies Dir bitte meinen Blogbeitrag (siehe Signatur) zu dem Thema durch.

  • Hallo Thomas,

    vielen Dank für deine Antwort. Vielleicht haben wir aneinander vorbei geschrieben :) Ich glaube es ist gerade anders herum (deinen Vorschlag mit der .htaccess habe ich getestet - tut nicht) Die Webseite läuft, abgesehen von den neu eingebauten Inhalten, sehr schön. Über das CSS habe ich auch eine eigene Schrift eingebunden. Webfonts sind deaktiviert.

    Nun erscheinen nur auf der Seite auf der die Inhalte eines Steuertextanbieters eingebunden werden keine Umlaute siehe: https://www.stb-heiner-hoffmann.de/test/stb-aktuell.php ... der Anbieter gibt dazu folgende Lösung vor: (Wobei ich nicht weiß wie ich in den Headbereich dieser einen Seite schreiben kann)

    1) Im Head-Bereich der PHP-Datei, in der die aktuellen Nachrichten auf Ihrer Website angezeigt werden sollen, muss folgende Zeichensatz-Einstellung vorhanden sein: <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

    Der Zeichensatz UTF-8 kann in dieser Datei nicht verwendet werden. Alle anderen Dateien Ihrer Homepage sind davon nicht berührt.

    2) Mit Hilfe eines geänderten Codes kann eine Umwandlung in UTF-8 erfolgen. Hier können Sie den Alternativ-Code für PHP5 herunterladen:


  • Hallo Dagmar,

    OK, es geht also nicht um ein allgemeines Darstellungsproblem auf der Seite, sondern nur um den via Quelltext eingebundenen externen Inhalt. Dann ist der Weg über die .htaccess tatsächlich nicht funktionierend.

    Lösungsversuch:

    • gehe auf die Seite und dann die Seiteneigenschaften
    • in den Attributen gibt es unter "Standard" ein 2extern_edit_charset", ändere dieses von UTF-8 auf ISO-8859-1

    danach neu veröffentlichen.

    Eventuell reicht das ja bereits aus.

    Ansonsten im Quelltext zur Einbindung der STB-News nach "echo $client" suchen (Zeile 15 deines Beispieles) und durch "echo utf8_encode($client" ersetzen sowie eine zusätzliche schließende Klammer ) hinten anhängen (Zeile 20 deines Beispiels).

  • Hallo Thomas,

    erstmal vielen Dank!

    Bei deinem erstem Vorschlag in den Seitenattributen ändert sich nichts.

    Bei deinem zweiten Vorschlag, hier der komplette Quelltext mit deiner Einbindung ...

    <?php

    echo "<!--<h1>Dynamische Internetseite:(C) efv-Erich Fleischer

    Verlag</h1> -->";

    $client = new

    SoapClient("https://www.stb-aktuell.de/stbdienstserverweb.wsdl",

    array("exceptions" => 0,"encoding"=>"ISO-8859-1"));

    echo uft8_encode ($client->holelinks("300","1234K56789K4","123456","1000","1"));

    ?>

    kommt folgende Fehlermeldung:


    Fatal error: Uncaught Error: Call to undefined function uft8_encode() in /www/htdocs/w01a0808/stb-heiner-hoffmann.de/test/stb-aktuell.php:379
    Stack trace:
    #0 {main} thrown in /www/htdocs/w01a0808/stb-heiner-hoffmann.de/test/stb-aktuell.php on line
    379

    LG Dagmar


    Einmal editiert, zuletzt von Hanabi (8. Februar 2021 um 14:03) aus folgendem Grund: Benutzerkennung durch 12345 ausgetauscht

  • Thomas, es funktioniert !!! Ich hatte den Unterstrich vergessen bei utf8_encode .... super VIELEN DANK!!!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!