Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Sonderzeichen in Opera/Firefox und IE

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66

    Sonderzeichen in Opera/Firefox und IE

    Problem geloest!!

    hi,

    ich bin gerade kurz vor der fertigstellung von einer seite und habe jetzt noch ein letztes problem: die darstellung von sonderzeichen/umlauten.

    als erstes mal: meine seite ist per <?xml blabla?> auf utf-8 gestellt vom encoding her. ausserdem hab ich auch die tabelle auf unicode-utf-8 gestellt.

    solange ich dinge ueber mein admin-panel mit dem selben browser einstelle und ansehe faellt nix auf.

    wenn ich aber inhalte über phpmyadmin in die db einfüge so werden die sonderzeichen nicht korrekt gespeichert/dargestellt (weiß nich wann der haken passiert, beim speichern oder beim auslesen).

    das selbe passiert wenn ich inhalte zum beispiel mit opera/firefox einstelle und dann das ergebnis im IE betrachte und umgekehrt.....

    mittlerweile hab ich sogar bei dem ie die einstellung ansicht->codierung->utf-8 probiert, was auch erfolgreich war - allerdings ist das nicht der standardzeichensatz der vom IE verwendet wird (ach bei automatischer erkennung erkennt er nich, dass meine seite utf-8 is)....

    also hier zwei fragen:
    1. was muss ich denn machen, damit die seite von allen browsern gelesen werden kann, auch wenn sie nur von einem browser mit inhalten befüllt wird.....???

    2. kann es ausserdem sein, dass dieses problem nur unter linux auftritt? ich hab es nämlich erst seitdem ich meine webseiten unter linux entwickle....
    Geändert von ohcibi (02-04-2007 um 13:22 Uhr)

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Überprüf mal, ob die Datei wirklich in UTF-8 abgespeichert ist.

    Wenn eine XML Datei angibt in UTF-8 kodiert zu sein, dann aber direk Latin1 Zeichen enthält (zum Beispiel deutsche Umlaute) dann wird in einem UTF-8 Dekoder darauf nur Zeichenmüll.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66
    Zitat Zitat von anda_skoa Beitrag anzeigen
    Überprüf mal, ob die Datei wirklich in UTF-8 abgespeichert ist.
    welche datei denn? die umlaute, um die es geht kommen aus der datenbank.

    das datenbankfeld is zumindest bei meiner datenkbank auf utf-8. die mysql-version bei strato hat diesen collation-kram noch nich.....

    als erstes im html steht auf jeden fall dieses
    Code:
    <?xml version="1.0" encoding="utf-8"?>

  4. #4
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo ohcibi,

    füge in deine HTML-Datei folgendes Meta-Tag ein:
    Code:
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
    Stelle sicher, dass dein PhpMyAdmin auf UTF-8 eingestellt ist. Auf der "Startseite" (auch über das Haus-Icon links oben zu erreichen) findest du die Einstellung zum verwendeten Zeichensatz und der Sortierfolge (Collation, je nach MySQL-Version). Am Besten alle Einstellungen sind überall gleich (z. B. utf8_general_ci).

    Solltest du immer noch Probleme haben, kannst du überprüfen, ob dein Apache eine Antwort mit einem "falschen" Zeichensatz ausliefert. Überprüfen kannst du dies z. B. mit der Firefox Extension Firebug (allgemein eine sehr nützliche Extension). Klickst du unten rechts auf das Firebug Icon und wechselst danach in den Reiter "Net" und ganz oben auf "HTML", kannst du, nachdem du deine Website aufgerufen hast, die Antwort des Servers sehen (Response Headers). Der Eintrag "Content-Type" gibt auch den Zeichensatz an (Charset). Steht dies nicht auf UTF-8, kannst du folgendes in ein PHP-Skript setzen:
    PHP-Code:
    header('content-type: text/html; charset=utf-8'); 
    Grüße,
    nEox

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66
    Zitat Zitat von nEox Beitrag anzeigen
    füge in deine HTML-Datei folgendes Meta-Tag ein:
    Code:
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
    der war es, jetzt sind sich opera/firefox und IE einig....

    danke, dass du dir die muehe gemacht hast, dir mein posting auch komplett durchzulesen.....

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von nEox Beitrag anzeigen
    PHP-Code:
    header('content-type: text/html; charset=utf-8'); 
    Danke, genau das hatte ich schon ne Weile gesucht. War nur nie auf den Gedanken gekommen bei PHP vorbeizuschauen (denn wenn das läuft ist die Seite ja schon am ausgeliefert werden... - naja, eben nicht ganz, zumindest nicht wenn man den Befehl an den Anfang stellt...)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •