Probleme mit tschechisch nach iso-8859-2
Christoph Wimmer
- html
Hallo!
Ich soll eine tschechische Version einer Internetseite gestalten. Also bin ich wie folgt vorgegangen:
1. auf http://www.uni-regensburg.de/EDV/Misc/KeyBoards/ die tschechische Tastatur (Windows) ausgedruckt.
2. In Win2k Tastatur auf Tschechisch (Windows) eingestellt
3. Im Editor (DW4) meta auf iso-8859-2 eingestellt
4. Einige tschechische Buchstaben eingetippt und abgespeichert.
Jetzt kommt's:
Sehe ich mir die Seite zB im iE6 oder auch Firebird an, stimmt alles.
Binde ich die Seite in ein Frameset ein, kommen total falsche Zeichen zum Vorschein.
Stelle ich bei der Ansicht mit Frameset im iE6 die Codierung manuell von Westeuropäisch (ISO) auf Mitteleuropäisch (ISO), sieht wieder alles "normal" aus. Dies ist nicht notwendig, wenn ich die Seite nicht im Frame aufrufe, denn dann stimmt auch die automatische Sprachauswahl des Browsers.
Einen Teil des Problems konnte ich lösen, indem ich in ALLEN Frameseiten iso-8859-2 eingestellt habe, dann erkennt die automatische Sprachauswahl des iE den Zeichensatz. Leider wählen aber weder NS7.1 noch Firebird0.7 den richtigen Zeichensatz (was aber, wie bereits geschrieben, schon funktioniert, wenn die Seite nicht im Frame, sondern alleine aufgerufen wird).
Hat jemand dieses Problem schon mal gehabt und lösen können? Weiss jemand einen Lösungsansatz?
PS:
Mir ist schon klar, dass ich zB č für c mit Hatschek oder wie das Ding heisst schreiben könnte, aber das ist nicht Sinn der Sache.
Thx,
kristov
In allen Seiten im <head> folgende Zeile rein:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
Dann sollte es gehen.
Mit freundlichen Grüßen,
Michael Nagler
In allen Seiten im <head> folgende Zeile rein:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
Dann sollte es gehen.
Thx,
hab ich probiert, geht (im NS und FB) leider nicht.
Danke für die schnelle Antwort.
So wie's aussieht, ist apache daran schuld. Der mag das ganze irgendwie nicht. Unter IIS läuft's problemlos...
Thx,
kristov
Hallo,
So wie's aussieht, ist apache daran schuld. Der mag das ganze irgendwie nicht. Unter IIS läuft's problemlos...
Aha. Ich vermute folgendes:
Der IIS schickt mit dem HTTP-Header _keine_ Charset-Angabe.
Das ist grundsaetzlich suboptimal/schlecht, aber in Deinem Fall "besser",
denn so gibt es keinen Konflikt mit den Charset-Angaben im META-Tag.
Der Apache schickt (vorbildlich) mit dem HTTP-Header eine Charset-Angabe.
Und das ist halt im Normalfall ISO-8859-1.
Dann ignorieren gute Browser die Charset-Angaben im META-Tag,
auch wenn diese widerspruechlich zu denen im HTTP-Header sind.
Das META-Tag heisst ja "http-equiv", ist also eher als Fallback gedacht,
falls die Seiten z.B. offline (CD) betrachtet werden.
Falls per HTTP eine Angabe erfolgt, ist diese staerker zu gewichten:
http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2
<ZITAT src="http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2">
To sum up, conforming user agents must observe the following priorities
when determining a document's character encoding (from highest priority
to lowest):
1. An HTTP "charset" parameter in a "Content-Type" field.
2. A META declaration with "http-equiv" set to "Content-Type" and a value set for "charset".
3. The charset attribute set on an element that designates an external resource.
</ZITAT>
Wenn Dein Webserver am Internet haengt, kannst Du ja mal mit dem
HTTP Head Service des W3C http://cgi.w3.org/cgi-bin/headers
schauen, was so fuer HTTP-Header geschickt werden.
Ohne Gebastel (z.B. verschiedene Dateiendigungen) duerfte es beim
Apachen schwierig werden, nur einzelne Dateien in einem Verzeichnis
mit einem speziellen Charset auszuliefern.
Eine Loesung waere IMHO, ein Unterverzeichnis fuer alle tschechischen
Seiten zu machen und dort eine .htaccess reinzustellen mit folgendem Inhalt:
AddDefaultCharset ISO-8859-2
Siehe z.B.
http://httpd.apache.org/docs/mod/core.html#adddefaultcharset bzw.
http://httpd.apache.org/docs-2.0/mod/core.html#adddefaultcharset
Hoffe, die Ehre des Indianers gerettet zu haben. ;-)
Gruesse,
Thomas
Hi Christoph,
meine Tochter, die in Prag lebt und tschechische Internetseiten erstellt, schreibt mir zu deinem Problem:
ich weiß jetzt leider nicht so genau, was NS7, Firebird usw. ist, aber bei meiner Seite gab es damals auch verschiedene Probleme. Das erste war der Server - ich hatte meinen Speicherplatz auf einem deutschen Server, und der hat grundsätzlich alle tschechischen Zeichen vermistet. Jetzt habe ich die Seite auf einem tschechischen Server, da ist es kein Problem. Ich muss aber alle Seiten direkt in HTML programmieren, weil der deutsche HTML-Editor die
tschechischen Buchstaben vermistet. Als Sprache habe ich nicht iso-8859-2 sondern windows-1250 eingestellt, aber daran wirds wohl nicht liegen.
Wahrscheinlich muss er am Computer was umstellen. Interessant ist: Wenn ich in München bin und mir dort den Quellcode von meiner tschechischen Seite runterlade, bearbeite und die Seite dann von dort wieder ins Internet stelle, sind die Buchstaben vermistet. Hier habe ich bei Einstellungen / Systemsteuerung / Ländereinstellungen "tschechisch" eingestellt, vielleicht
liegts daran?
Gruß
Peter