1. #1
    Avatar von IceNet
    Registriert seit
    04.12.2011
    Beiträge
    530
    Thanked 470 Times in 167 Posts

    Standard PHP UTF-8 Kodierung fehlerhaft?

    Hallo,

    habe folgendes Problem.

    Ich habe meinen Hoster gewechselt, alles normal installiert, allerdings failed bei mir die UTF-8 Kodierung

    Beispiel (In den Dateien ist nur der charset Header geändert):
    [HIDE=50]http://5.1.87.250/testiso.php
    http://5.1.87.250/testutf.php[/HIDE]

    Vor dem Umzug hat alles mit UTF-8 funktioniert.
    Hab schon die php.ini auf ISO umgestellt, den Header von den PHP Dateien, jedoch bringt das alles nicht den gewünschten Effekt.

    Weiß jemand, woran das eventuell liegen könnte?

    Man kann auch per Teamviewer drüberschauen und ich zahle für den Aufwand.
    Geändert von IceNet (25.01.2017 um 17:12 Uhr)

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.080
    Thanked 9.118 Times in 2.995 Posts
    Blog Entries
    5

    Standard AW: PHP UTF-8 Kodierung fehlerhaft?

    ISO 8859-1 meinst du vermutlich. Das ist ein ganz anderer Zeichensatz und wird das Problem nicht lösen, wenn du UTF-8 nutzt.

    Der Server scheint soweit korrekt konfiguriert zu sein:
    Code:
    Content-Type:text/html; charset=UTF-8
    Das Problem wird eher darin liegen, dass du keinen DOM hast. Darin gibt es nämlich einen Meta-Tag für den Zeichensatz, den Browser gerne nutzen.

    Füge mal ein HTML-Grundgerüst in die Seite ein:
    Code:
    <!doctype html>
    <html lang="de">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Test</title>
      </head>
      <body>
      </body>
    </html>
    Im body-Tag kannst du den Inhalt deiner Testseite platzieren. Falls es trotzdem Probleme gibt, beim Speichern das BOM (Byte Order Mark) entfernen. Es handelt sich um ein (unsichtbares) Zeichen, dass die Reihenfolge des Bytestromes angibt. Ist ein Relikt von den Vorgängern UTF-16/32 und wird bei ihnen aus technischen Gründen zwingend benötigt. Bei UTF-8 ist das nicht mehr der Fall, allerdings kann es optional dennoch eingesetzt werden. Würde ich möglichst vermeiden, da es einige (teils schwer zu findende) Probleme verursachen kann. Ein guter Editor bietet das entweder im Speichern unter Dialog an, oder zumindest woanders in den Einstellungen. Im Zweifel Notepad++ nehmen, da lässt sich das über das Menü Kodierung auch jederzeit bei geöffneten Dateien nachprüfen.

    Gerade PHP hat das nicht richtig im Griff, und erkennt das BOM als Ausgabe. Das ist ein Problem, da PHP den Header ab der ersten Ausgabe als abgeschlossen ansieht und ihn sendet. Möchte man also eigene Header setzen, schließt PHP den Stream bereits beim ersten Byte. Es entsteht eine Fehlermeldung, die angesichts des Codes völlig unverständlich und unmöglich aussieht. Das nur am Rande, daher besser kein BOM mit UTF8, wenn es nicht unbedingt sein muss. Sollte aber wie gesagt mit allen Systemen, die sich an die Spezifikation halten, kein Problem sein.


  3. The Following 2 Users Say Thank You to DMW007 For This Useful Post:

    IceNet (26.01.2017), The Dope Show (04.02.2017)

Ähnliche Themen

  1. Suchergebnisse fehlerhaft
    Von CDLF im Forum Support
    Antworten: 0
    Letzter Beitrag: 21.02.2016, 00:56
  2. Facebook fehlerhaft?
    Von MHRCube im Forum Internet und Technik
    Antworten: 5
    Letzter Beitrag: 22.05.2015, 04:51
  3. Hilfe ordneransicht wird Fehlerhaft Dargestelt
    Von Sploxfreak im Forum Windows
    Antworten: 4
    Letzter Beitrag: 02.02.2014, 23:13
  4. Picturelicious fehlerhaft
    Von hYpercrites im Forum PHP
    Antworten: 0
    Letzter Beitrag: 02.05.2013, 03:56
  5. [v9.0ake] Passwort-Kodierung
    Von Resident im Forum Sourcecode
    Antworten: 0
    Letzter Beitrag: 12.03.2012, 18:40
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.