Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » HTML / XML / XHTML » problem vermutlich mit charset=UTF-8

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.04.2010, 01:40 Uhr
~keine ahnung 3
Gast


hallo,

ich hab folgendes problem. bei mir wird das paragraphen zeichen § im browser nicht angezeigt.

ich hab folgende zeile in meinem code


Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


die zeile hab ich aus irgendeinem tutorial kopiert. wenn ich das codefragment:


Code:
charset=UTF-8


rauslösche werden die § zeichen normal angezeigt. was hat es denn mit dem charset auf sich bzw welche folgen hat es auf meine seite wenn ich die betreffende stelle einfach weg lasse (ich konnte keine feststellen) bzw was müsste ich ergänzen/verwenden damit alles passt????

vielen dank schon mal im voraus für eure antworten.

mfg patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.04.2010, 03:01 Uhr
0xdeadbeef
Gott
(Operator)


Naja, wenn du einen Nicht-UTF-8-Text (in diesem Fall vermutlich iso-8859-1 oder iso-8859-15) als UTF-8 interpretierst, ist es kein Wunder, wenn Sonderzeichen nicht richtig angezeigt werden.

Mit den Zeichensätzen hat es Folgendes auf sich: In den 60er Jahren, als Computer und artverwandte Geräte langsam die Infrastruktur zu erobern begannen, wurden auch die ersten Standards für die Darstellung von Text auf solchen Maschinen entwickelt. Ich lasse EBCDIC mal beiseite, weil es inzwischen nur noch historische Bedeutung hat, aber ASCII bildet die Grundlage für alles, was wir heute benutzen.

ASCII tauchte zunächst in Verbindung mit Fernschreibern auf. Ein Zeichen war ein 8-bit-Byte, dessen oberstes Bit als Parity benutzt wurde, um Übertragungsfehler erkennen zu können. Das ließ 7 bit als Datenraum, also 128 verschiedene Zeichen, von denen 32 für Steuerzeichen reserviert waren - 96 druckbare Zeichen blieben übrig.

Das war genug, um das lateinische Alphabet in Groß- und Kleinschreibung, Ziffern und ein paar der im Englischen üblichsten Sonderzeichen darzustellen, und für den Anfang konnte man damit auch ganz gut leben, aber mit der Zeit begannen die Leute, Ansprüche zu stellen. Umlaute, Accents, andere Währungszeichen als der Dollar - ziemlich schnell reichten 96 Plätze nicht mehr aus. Als die Übertragungstechnik weit genug fortgeschritten war, entwickelten sich also eine ganze Reihe von Zeichensätzen, die das oberste Bit mitbenutzten und so weitere 128 Plätze für Sonderzeichen aller Art freiräumten.

Problematisch dabei war, dass sich diese teils stark voneinander unterschieden. In Russland braucht man etwa ganz andere Buchstaben als in Westeuropa. Um den Dschungel wenigstens halbwegs zu beherrschen, standardisierte die ISO einige dieser Zeichensätze in der ISO/IEC 8859-Familie von Zeichensätzen, von denen heute in Westeuropa iso-8859-1 und iso-8859-15 gebräuchlich sind. Da das ganze aber spätestens dann auseinander fliegt, wenn man in Japan und China ankommt (80000 Kanji sind beim besten Willen nicht in ein Byte zu pressen), musste langfristig eine universelle Lösung her, die mächtig genug war, Text in all seinen Facetten darstellen zu können - das sollte Unicode werden.

Unicode ist insofern etwas komplexer, als dass es nicht nur jedem Zeichen einen Wert zuweist, sondern Textstruktur erfasst. Etwa kann man ein é in Unicode als Mischung aus dem Zeichen e und dem Accent ´ darstellen. Wie man sich denken kann, erzeugt das gewisse Kompatibilitätsprobleme mit bestehenden Systemen - zum einen sind die alle quer durcheinander auf alle möglichen, verschiedenen Arten kodiert, zum anderen ist Unicode von zwar nicht völlig, aber doch merkbar anderer Struktur.

Die Lösung, die dafür gefunden wurde, besteht in der Unicode-Kodierung UTF-8. UTF-8 ist so aufgebaut, dass die ganz alten ASCII-7-Zeichen, die alle gebräuchlichen Zeichensätze gemeinsam haben, in UTF-8 genau so kodiert werden, wie es vorher auch der Fall war, und ein Zeichen, das außerhalb dieses Bereichs liegt, die Länge eines dahinterliegenden Schwanzes von Zeichen bezeichnet, die das außerhalb des einfachen Bereichs liegende Zeichen kodieren.

§ liegt außerhalb dieses Bereichs, also musst du darauf achten, dass dein Webserver die Datei, in der es steht, so serviert, dass der Browser weiß, welchen Zeichensatz er benutzen muss.

Oder du benutzt einfach die &sect;-Entity.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.04.2010, 03:10 Uhr
Hans
Library Walker
(Operator)


Hi,

mit den charset hat es auf sich, ob der Browser die Zeichen gemäss den Standardeinstellungen des Betriebssystems anzeigt, oder nach anderen Normen. Mit der Anweisung: charset=UTF-8 teilst Du dem Browser mit, der er die Zeichen nach dem Unicode-Standard anzeigen soll. Näheres dazu: hier, bzw. hier.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.04.2010, 11:41 Uhr
~keine ahnung 3
Gast


hallo,

wow besten dank für die ausführlichen antworten.


Code:
&sect;
funktioniert wunderbar und somit ist mein problem gelöst.

was ich allerdings nicht ganz verstanden habe, was passiert wenn ich die den teil


Code:
charset=UTF-8


einfach weglasse.


ich hab das jetzt sowohl online als auch offline ausprobiert und der einzige unterschied ist das die § angezeigt werden wenn ichs weglasse.

ich hab auch noch eine ältere seite von mir gefunden, wo ich wohl ein anderes tutorial als vorlage benutzt habe und wo diese zeile gar nicht vorkommt. die seite funktioniert aber ebenfalls online wie offline einwandfrei.

wozu brauche ich diese zeile also? was ich aus deinem text rausgelesen habe, ist es notwendig wenn z.b. jemand aus china meine seite aufruft und das in chinesischen schriftzeichen dargestellt werden soll?

mfg patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.04.2010, 12:14 Uhr
0xdeadbeef
Gott
(Operator)


Ich bin jetzt nicht sicher, wie verbindlich die HTML- und HTTP-Standards an der Stelle sind, aber in der Praxis läuft das so:

Der Browser hat eine Default-Einstellung, welchen Zeichensatz er benutzt, wenn er vom Server keinen Zeichensatz kriegt.

Der Server schickt in seiner HTTP-Response (meistens) einen Content-Type-Eintrag mit, in dem auch ein Zeichensatz stehen kann. Der Browser hält sich ggf. an diese Angabe.

Das Dokument kann in einem HTML-Meta-Tag die Angaben des Servers überstimmen.

Das bedeutet: Wenn im Dokument explizit ein Zeichensatz steht, wird der genommen. Ist das nicht der Fall, wird der, den der Server für richtig hält, genommen (er weiß nämlich besser als der Browser, was er für Content hat), und sagt der Server nichts, rät der Browser halt gemäß seiner Default-Einstellung. Vom Design her kann man sich darüber streiten, wo der Zeichensatz am besten angegeben werden sollte, und es hängt wohl auch stark davon ab, wie viele Leute mit wie vielen verschiedenen Arbeitsumgebungen Kram auf den Server legen können. Es herrscht aber weitgehende Einigkeit darüber, dass es nicht dem Browser überlassen werden sollte, weil der nichts über den Inhalt weiß.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 27.04.2010 um 12:16 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.04.2010, 12:21 Uhr
~keine ahnung 3
Gast


ah ok,

also ich hab einen kleinen webspace bei der Srato AG. ich nehm jetzt einfach mal an, dass ich bei so einem großen abieter davon ausgehen kann das die auf ihrem server alles soweit richtig eingestellt haben, dass der browser den richtigen zeichensatz bekommt.

mfg patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
27.04.2010, 15:49 Uhr
0xdeadbeef
Gott
(Operator)


Naja, einen Zeichensatz werden die auf dem Server schon eingestellt haben, aber wenn deine Dokumente in einem anderen verfasst sind, hilft dir das wenig.

Was Strato angeht...naja, ich hab da nie etwas gehostet, aber ich finde Strato-Server andauernd in meinen Blacklists. Ich stehe dem Verein dementsprechend etwas skeptisch gegenüber.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ HTML / XML / XHTML ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: