Debian Apache2 Sonderzeichen

T

tab1234

Jungspund
Ich habe ein Problem mit den Sonderzeichen meines Apaches es wird statt den Umlauten ä, ü, ... immer ein ? am Server ausgegeben.

Ich möchte aber die Websiten nicht alle auf z.b. ä --> &auml ändern sondern möchte die Zeichen normal in die Webseiten schreiben damit ich Texte einfach nur kopieren muss und die Sonderzeichen nicht alle ändern muss.

Wie kann ich dieses Problem lösen, ich wäre Dankbar für Antworten.

Ich benutze einen Apache 2.2.3 Server auf Debian

Vielen Dank im Voraus
 
Das ist normalerweise keine Sache des Webservers, sondern Teil des HTML Standard, dass der Zeichensatz im Header angegeben wird.
 
Habe in der httpd.conf

CharsetSourceEnc UTF-8
CharsetDefault ISO-8859-1
CharsetOptions DebugLevel=0
CharsetOptions ImplicitAdd

angegeben, allerdings ohne erfolg
 
Les dir Wolfgangs Beitrag durch und setze es um ;)

Code:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
oder halt
Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 
Zuletzt bearbeitet:
Der Zeichensatz war bereits im Header angegeben.
Die Sonderzeichen werden trotzdem nicht angezeitgt sonder ?xte

html-Datei:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>xxx</title>
<body>
Äxte
</body>
</html>
 
Zuletzt bearbeitet:
Mal geschaut das dein Browser das ganze auch im richtigen Satz anzeigt?

Oder das die umlaute in der Datei selber nicht kaputt sind?
 
Wenn ich die Datei einfach nur öffne wird Äxte korrekt angezeigt
allerdings öffne ich die Datei per Server ist das leider nicht so
 
Ist die Datei auch in dem Zeichensatz abgespeichert in dem du sie anzeigen willst?
 
Ich weiss nicht was du damit meinst dizzgo
Aber ich denke schon.
 
Der Browser erwartet genau den Zeichensatz, der auch angegeben wurde.
Wenn du die Datei in UTF8 geschrieben hast, aber im Header iso-8859-1 angibst, wird das natürlich nichts.
;)
 
Wie erkenne ich ob ich die Datei in UFT-8 oder in iso 8859-1 geschrieben habe?
 
Da gibt es mehrere Möglichkeiten.
Eine davon ist
Code:
$ file /tmp/test
/tmp/test: UTF-8 Unicode text, with no line terminators
 
Die Datei ist ein HTML docuement text
--> iso-8859-1
 
Dann schalte bei deinem Browser mal manuel die Zeichenkodierung um, bei Firefox geht das über
Code:
'Ansicht->Zeichenkodierung->Westlich (ISO-8859-1)', bzw 'Unicode (UTF-8)'
 
Die Datei ist ein HTML docuement text
--> iso-8859-1

Wenn du eine Mischform hast, kann file schonmal danebengreifen.
IMHO untersucht file nur die ersten Zeilen.
Um ganz sicher zu gehen, öffne die in einem Editor deiner Wahl (z.B. Kate und speichere sie mit der Option als iso.8859-1.
Dann sollte es hinhauen.
Zum Konvertieren von ganzen Verzeichnissen benutze iconv.
 
Das hat funktioniert!
Aber wie kann ich dann verhindern, dass die Besucher meiner Website im Web nicht immer den Browser auf eine anderes Zeichenformat umstellen müssen oder spielt das keine Rolle?
 
Zuletzt bearbeitet:
Indem du den richtigen Zeichensatz im header mit übergibst.
 
Es funktioniert wenn ich die Seite direkt über den Webserver öffne, allerdings wenn ich die Seite über einen Link in ein Frame der index.html lade wird bei jeder Aktualisierung der Seite der Zeichencode wieder auf UTF-8 zurückgesetzt, ist das ein Fehler von mir im Apache oder ist das normal.
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

Keine Sonderzeichen im Terminal

Debian Gateway

Problem mit Apache2 + MySQL Server

Zurück
Oben