HTML und Umlaute

Diskutiere das Thema HTML und Umlaute im Forum Web-Design.

  1. maceis

    maceis Thread Starter Mitglied

    Beiträge:
    16.779
    Zustimmungen:
    606
    Mitglied seit:
    24.09.2003
    hallo zusammen,

    in letzter Zeit nervt mich das tierisch, dass ich Umlaute etc. immer mit &...; schreiben muss.
    Wenn ich die Umlaute ganz normal in den html-Text schreibe, werden Sie auch ordentlich angezeigt, allerdings nur, solange mein Browser auf "ISO Latin 1" eingestellt ist.
    Sobald ich auf "UTF-8" umschalte, weden die Umlaute einfach ausgelassen.
    Im head habe ich folgenden meta-Tag drin:
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    Nachdem "UTF-8" ja die Sonderzeichen alle hat, und am Computer beide Zeichensätze vorhanden sind, habe ich gehofft, dass die intern "übersetzt" werden können.

    Nun meine Frage:
    Gibt es eine praktikable Lösung, denn Quelltext mit normalen Sonderzeichen zu schreiben und trotzdem eine weitgehend korrekte Darstellung bei unterschiedlichen Browsereinstellungen zu erhalten?
     
  2. HAL

    HAL

    so gehört sich das aber. alles andere ist schlechter stil. ;)
     
  3. Scribble

    Scribble Mitglied

    Beiträge:
    523
    Zustimmungen:
    6
    Mitglied seit:
    23.08.2004
    Ja:
    1.) Die Datei muss auch (im Editor oder der Datenbank) als UTF-8 abgespeichert worden sein.
    2.) Der Server liefert die Datei auch als UTF-8 aus (httpd.conf oder .htaccess mittels AddDefaultCharset utf-8).
    3.) Der von dir genannte meta-Tag ist redundant, wenn du deinen Server anweist, Dokumente als UTF-8 auszuliefern. Wenn du den meta-Tag aus anderen Gründen dennoch angibst, sollte der Charset auch auf utf-8 verweisen.

    Fortan brauchst du deine Umlaute nicht mehr mit Entities zu maskieren.
     
  4. garraty47

    garraty47 Mitglied

    Beiträge:
    547
    Zustimmungen:
    5
    Mitglied seit:
    18.11.2004
    schrein deinen htrml code ganz normal und lass dir dann die umlaute ä ü ö durch &uuml; etc. ersetzen.
    kann ja jeder editor
     
  5. Difool

    Difool Super Moderator

    Beiträge:
    8.952
    Medien:
    37
    Zustimmungen:
    3.658
    Mitglied seit:
    18.03.2004
    ...oder auswendig lernen... ;)

    *hehehe*
     
  6. maceis

    maceis Thread Starter Mitglied

    Beiträge:
    16.779
    Zustimmungen:
    606
    Mitglied seit:
    24.09.2003
    Vielen Dank für Eure Antworten.

    Mag sein, aber unbequem; So mach ich das ja auch seit Jahren; wenn es eine adäquate technische Lösung gibt, würde ich die gerne anwenden :D
    Das klingt sehr gut. Eine Frage hätte ich da noch:
    Gibt es ein Kommando(Shell, Perl, PHP etc.), mit dem ich eine beliebige Textdatei darauf testen kann, mit welcher Zeichensatz-Kodierung sie gespeichert ist?
    Dem vim wird man ja wohl beibringen können, als utf-8 zu speichern :D
    Das wäre auch eine Möglichkeit; da ich aktualisierte Dateien ohnehin mit einem Skript hochlade, kann ich da auch noch eine Zeichenersetzung einbauen.

    Der Vorschlag von Scribble kommt meinen Vorstellungen am nächsten.
     
  7. Scribble

    Scribble Mitglied

    Beiträge:
    523
    Zustimmungen:
    6
    Mitglied seit:
    23.08.2004
    Am einfachsten machst du das, indem du dir die HTTP-Request-Header ausgeben lässt, z.B. über http://web-sniffer.net/ oder über die Mozilla-/Firefox-Webdeveloper-Extension (Response Headers). Im Mozilla-Kontextmenü gibt es auch den Punkt »Seiteninformationen anzeigen«; dort müsste der Content-Type/charset ebenfalls angezeigt werden.
     
  8. gen2user

    gen2user Mitglied

    Beiträge:
    69
    Zustimmungen:
    2
    Mitglied seit:
    29.04.2004
    Hallo,

    Was soll denn daran schlecht sein, die Zeichen die der Zeichensatz beeinhaltet einfach zu verwenden?

    gen2user
     
  9. maceis

    maceis Thread Starter Mitglied

    Beiträge:
    16.779
    Zustimmungen:
    606
    Mitglied seit:
    24.09.2003
    --- sorry; falscher Thread ---
     
  10. ?=?

    ?=? Mitglied

    Beiträge:
    950
    Zustimmungen:
    14
    Mitglied seit:
    09.02.2004
    Passt "file" für deinen Zweck oder ist es zu ungenau?


    Gruß,

    ?=?
     
  11. wggf

    wggf Mitglied

    Beiträge:
    96
    Zustimmungen:
    0
    Mitglied seit:
    02.11.2002
    probier mal unicodechecker aus.
    der macht das für dich!

    http://www.earthlingsoft.net/UnicodeChecker/

    ist freeware!!


    servas wolfgang ;-)
     
  12. wegus

    wegus Mitglied

    Beiträge:
    16.160
    Zustimmungen:
    2.722
    Mitglied seit:
    13.09.2004
    gen2user:
    Nun ja, es ist eben Internet! Jeder kann mit dem Browser seiner wahl und den Einstellungen seiner Wahl die Seite betrachten. Soll er sie auch lesen können, muß man entweder bei allen Usern den gleichen Zeichensatz voraussetzen ( eher schlecht möglich), oder den Zeichensatz mit angeben. Desweiteren unterscheidet man zwischen den alten 8-Bit Zeichensätzen und den erweiterten neueren 16-Bit ( sogar 32-Bit gibt es). Hier unterscheidet sich dann Dein ä/ö/ü auch noch in der Speicherart! Gaanz einfach nur die Umlaute tippen führt leider zu mehr Verdruß als alles Andere!

    Im Wesentlichen gebe ich Difool recht, die wichtigsten Zeichen kann man sich schon merken!
     
  13. maceis

    maceis Thread Starter Mitglied

    Beiträge:
    16.779
    Zustimmungen:
    606
    Mitglied seit:
    24.09.2003
    Tatsache. Da bekommt man einiges heraus.
    Sinnvoll ist es den -i Switch einzuschalten, da dann das charset auch ausgegeben wird, wenn file z.B. ein Skript, Quellcode oder sowas erkennt.

    Jetzt wäre nur noch ein Skript nötig, dass mir die encodings umwandelt, ohne die Buchstaben zu "zerhauen".
    Mal sehn, ob da mit Perl was geht.

    @Scribble:
    Das funktioniert zwar sehr schön, wenn der Benutzer im Browser UTF-8 tatsächlich eingestellt hat.
    Wenn der Browser aber auf Latin-1 steht, gibt er "seltsame" Zeichenkombinationen aus.
    Hab ich da jetzt was falsch gemacht?
     
  14. maceis

    maceis Thread Starter Mitglied

    Beiträge:
    16.779
    Zustimmungen:
    606
    Mitglied seit:
    24.09.2003
    Das ist es ja gerade; selbst, wenn ich den Zeichensatz mit angebe, kommt nur Müll raus, wenn der Benutzer einen anderen Zeichensatz eingestellt hat.
    Um´s Merken geht es gar nicht, mehr um die Bequemlichkeit und die geschwindigkeit beim Tippen. Wenn´s nicht anders geht, werd ich wohl doch noch mal mit Pattern-Substitution arbeiten.

    @wggf
    Danke für den Tip, aber das ist mir zu kompliziert.
    Da muss ich ja alles von Hand machen; dann kann ich gleich Entities tippen :D.

    Meine Vorstellung sieht so aus:
    1. Ich schreib den Code wie mir der Finger gewachsen ist.
    2. Dann tipp ich im Terminal ein Kommando ein und alles Dateien, die neuer sind als seit dem letzten Upload werden auf den Server geladen.
    3. Alles ist gut ;)

    Im Prinzip ist das auch so machbar.
    Hab mich nur gefagt, ob im Quelltext am Ende wirklich &uuml; statt ü stehen muss.
    Wenn es so ist, kann ich damit leben.
     
  15. Scribble

    Scribble Mitglied

    Beiträge:
    523
    Zustimmungen:
    6
    Mitglied seit:
    23.08.2004
    Ja, ist ja auch richtig so ;) Aber da ja der Zeichensatz konkret deklariert und ausgeliefert wird, schalten die Browser automatisch auf den jeweiligen Zeichensatz um und zeigen die Umlaute auch korrekt an. Wenn du im Nachhinein die Browser-Textkodierung änderst (z.B. auf Latin-1), werden die Umlaute natürlich zerschossen dargestellt.
     
  16. mikne64

    mikne64 Mitglied

    Beiträge:
    3.112
    Zustimmungen:
    92
    Mitglied seit:
    02.04.2004
    Hallo maceis,

    Dein Meta-Tag ist falsch. Versuche folgenden Meta-Tag bitte:

    <meta http-equiv="content-type" content="text/html; charset=utf-8">

    Viele Grüße
    Michael
     
  17. maceis

    maceis Thread Starter Mitglied

    Beiträge:
    16.779
    Zustimmungen:
    606
    Mitglied seit:
    24.09.2003
    Vielen Dank für Deine Hilfe.
    So langsam blick ich durch. Funktioniert soweit sehr schön.

    Was ich nicht verstehe, ist, dass mir Dateien mit der Endung .php von "file -i" immer als "us-ascii" angezeigt werden und nicht als "utf-8".
    Das mag daran liegen, dass (afair) die unteren 256 Zeichen bei beiden identisch sind.

    Dateien mit der Endung .html werden meist korrekt als "utf-8" bezeichnet, manchmal wird gar keine Kodierung ausgegeben.

    Ansonsten: prima Sache :D.

    Danke für den Tip.
    Wenn man die Methode von Scribble anwendet, benötigt man gar keinen charset angeben.
     
  18. Scribble

    Scribble Mitglied

    Beiträge:
    523
    Zustimmungen:
    6
    Mitglied seit:
    23.08.2004
    Ist mir jetzt auf Anhieb auch nicht klar. (Ist »AddDefaultCharset utf-8« im Root/.htaccess oder in der httpd.conf platziert? Was sagt php.ini's default_charset?)
    Code:
    <? header("Content-type: text/html; charset=utf-8"); ?>
    sollte das zwar beheben können, ist aber natürlich nicht so elegant.
    Das ist richtig, weil es online redundant ist. Es ist nichtsdestotrotz sinnvoll, den Meta-Tag anzugeben, weil es offline Bugs z.B. in Mozilla ausbügelt: Lokal abgespeicherte Seiten senden keine Request-Headers. Die Seiten werden also in UTF-8 lokal gesichert, aber nicht mit diesem Zeichensatz geöffnet. Und dann sind die Umlaute beim nächsten Öffnen wieder kaputt.
     
  19. ?=?

    ?=? Mitglied

    Beiträge:
    950
    Zustimmungen:
    14
    Mitglied seit:
    09.02.2004
    "file" kann's den bytes halt nicht ansehen mit welcher Absicht (=welcher Kodierung) sie geschrieben wurden.
    Es gibt keine "Magic Numbers" anhand derer "file" irgendwas konkretes identifizieren kann. Bei HTML gibt's noch die charset-Angabe, die "file" nutzen kann (mangels PHP-Kenntnissen gehe ich davon aus, das sowas in PHP-Skripten nicht standardmäßig am Anfang steht, oder?).

    Was dann noch an Merkmalen zu Klassifizierung bleibt sind allenfalls ein paar Heuristiken (vgl. man file) . . .


    Gruß,

    ?=?
     
  20. maceis

    maceis Thread Starter Mitglied

    Beiträge:
    16.779
    Zustimmungen:
    606
    Mitglied seit:
    24.09.2003
    Gilt das auch, wenn ich mir die Seiten nur mit dem lokalen Webserver oder nem Texteditor ansehe? Eher nicht, oder?
     
Die Seite wird geladen...
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...