Thomas Luethi: Zeichensatz - Problem

Beitrag lesen

Dobri viedscher,

Ich versuche, noch ein paar Ideen als Ergaenzung zu Michaels
Posting zu liefern.

[Apache: HTTP-Charset-Header mittels .htaccess festlegen]
Das geht wahrscheinlich nur  auf einer "per-directory" Basis,

tja, und also habe ich ein Problem. Der Server gehört mir natürlich gar nicht, ich kann also nur selbst mit der .htaccess-Datei das Verzeichnisweise regeln und dafür muss ich das ganze Projekt auseinanderbauen... ist dort nämlich in deutsch, russisch, französisch und englisch vorhanden (die Reise nach Petuschki z.B.)

OK, ich sehe Dein Problem.
Wie viele russische Dateien hast Du denn? (=> Aufwand-Abschaetzung)
(Fuer die andern sollte ja ISO-8859-1 ausreichen, also kannst Du
sie auf jeden Fall in einem Verzeichnis lassen.)

Wenn Du die Dateien nicht in verschiedene Verzeichnisse
verteilen willst, kannst Du vielleicht einen Trick mit
"speziellen" Datei-Endigungen versuchen.
Dann kannst Du dieser speziellen Endigung das Charset zuordnen.
Z.B. reise.html.ru
Je nach Konfiguration zeigt der Server die Datei auch an,
wenn der Browser nur reise.html verlangt und es die einzige
Datei reise.html* ist.

Das ganze hat mit Content Negotiation und Multiviews zu tun:
http://httpd.apache.org/docs/content-negotiation.html

Ich habe es selbst noch nie angewendet; der folgende Vorschlag
fuer eine .htaccess ist frei erfunden:

----------------

Multiviews fuer dieses Verzeichnis einschalten:

(muss vom Webmaster _ausdruecklich_ erlaubt sein, siehe Doku.)

Options +MultiViews

Grundsaetzlich sollen alle (Text-)Dateien mit ISO-8859-1

ausgeliefert werden:

AddDefaultCharset iso-8859-1

Ausnahme: Dateien mit .ru kriegen das russische Charset:

AddCharset WINDOWS-1251 .ru

Optional: Dateien mit .ru kriegen die Sprache Russisch:

AddLanguage ru .ru
----------------

Falls das mit der Endigung .html.ru nicht hinhaut, koenntest Du
einen noch billigeren Trick nehmen:
.html fuer Dateien in Englisch, Deutsch u.s.w.
.htm  fuer Dateien in Russisch
Braucht einfach etwas mehr Disziplin beim Linksetzen u.s.w.

Die .htaccess wuerde dann so aussehen:
----------------
AddDefaultCharset iso-8859-1
AddCharset WINDOWS-1251 .htm

Vielleicht zur Sicherheit nochmal:

AddCharset iso-8859-1 .html
----------------

Oder Du definierst gleich eine Fantasie-Endigung
fuer die russischen Dateien, z.B. .rhtml
Die .htaccess wuerde dann zu:
----------------
AddDefaultCharset iso-8859-1
AddType    text/html    .rhtml
AddCharset WINDOWS-1251 .rhtml
----------------

Zum Thema "Webhoster und MultiViews": Vergleiche auch den Thread:
http://forum.de.selfhtml.org/archiv/2002/3/5959/
Zum Thema "Content Negotiation/MultiViews" siehe auch:
http://selfhtml.teamone.de/diverses/htaccess.htm#alternative_inhalte
http://www.bowiesnyder.com/writings/nls_apache.htm

So, jetzt hast Du mal was zum kauen und ausprobieren!

mfg + viel Glueck!
Thomas