Weiß jemand wie Apache auf Debian UTF 8 anzeigen kann?

3 Antworten

Apache zeigt gar nichts an.

Das ist ein Webserver, der ggf. bei den ausgelieferten statischen Daten die entsprechenden HTTP-Header setzen kann (Content-Encoding). Auf Linux ist das seit etlichen Jahren auch der Standard, d.h. in aller Regel muss man gar nichts dafür einstellen. Es wird davon ausgegangen, dass alles in UTF-8 kodiert ist. Nur in Ausnahmefällen zieht noch die alte HTTP-Defaultregel mit Latin-1.

Also, was genau klappt deiner Meinung nach nicht?


DaaaaanielTV 
Beitragsersteller
 07.08.2024, 20:04

Die UTF 8 Codierung klappt nicht, Umlaute wie äüö werden nicht angezeigt sondern mit einem ? dargestellt

Ist denn deine index.html auch UTF-8 kodiert gespeichert? Dir nützen alle Einstellungen nichts, wenn das HTML-Dokument in einer anderen Kodierung gespeichert wurde.

Woher ich das weiß:Berufserfahrung – Entwickle Webseiten seit über 25 Jahren.

DaaaaanielTV 
Beitragsersteller
 07.08.2024, 19:05

Ich habe sie auf dem Server bearbeitet, dann gespeichert und einmal sudo systemctl restart apache2 eingegeben
Hat davor immer funktioniert

Babelfish  07.08.2024, 19:14
@DaaaaanielTV

Das ist doch alles egal. Wichtig ist, wie du die Datei im Editor gespeichert hast bzw. mit welcher Zeichenkodierung die Datei im Editor geöffnet wurde. Wenn du die Datei bspw. als ISO 8859-1 gespeichert hast und als UTF-8 auslieferst, dann geht das halt schief. Beides muss zusammenpassen.

DaaaaanielTV 
Beitragsersteller
 07.08.2024, 19:23
@Babelfish

Wie speichert WINSCP dass den ab? Weißt du wie ich das richtig speichere?

Babelfish  07.08.2024, 19:34
@DaaaaanielTV

Das weiß ich nicht. Nutze einen vernünftigen Editor und lade die korrekt gespeicherte Datei dann auf den Server hoch.

jo135  07.08.2024, 19:39
@DaaaaanielTV

Warum sollte Winscp die Kodierung einer Datei beim Speichern ändern?!

Du arbeitest also offenbar auf Windows und speicherst mit deinem Texteditor in einem der auf diesem Legacy-Betriebssystem typischen Uralt-Encodings ab (Win-1252 oder sowas). Das kann weder dein SCP-Client noch Apache erschnüffeln. Stell in deinem Editor die richtige Kodierung ein.

jo135  07.08.2024, 19:43
@DaaaaanielTV

Dann wirst du das halt in dessen internem Editor einstellen müssen. Mit dem Upload oder dem Webserver hat es nichts zu tun.

Babelfish  07.08.2024, 19:52
@DaaaaanielTV

Was erwartest du jetzt von mir als Antwort? Wenn der interne Editor von WinSCP die Kodierung nicht ändern kann, dann kannst du es entweder so lassen oder du nutzt wie von mir vorgeschlagen einen anderen Editor wie bspw. Notepad++ Mehr kann ich dir nicht helfen.

KarlRanseierIII  08.08.2024, 00:52
@DaaaaanielTV

Dann stelle in dne Einstellungen von WinSCP beim Texeditor die Standardkodierung von 1252 auf UTF-8 um.

Hi DaaaaanielTV,

wenn du auf deine Seite keine richtigen Umlaute angezeigt werden, solltest du die Kodierung im HTML-Dokument hinzufügen. Das sieht in HTML so aus:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
... Dein Content
</body>
</html>

Weiterhin kannst du z.B.noch zusätzlich via PHP falls verwendet wird auch dort die Kodierung einstellen.

<?php header('Content-Type: text/html; charset=utf-8'); ?> 
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Dein Titel</title>
</head>
<body>
<!-- Dein Inhalt -->
</body>
</html>

Beim speichern des Dokuments sowohl HTML und PHP solltest du darauf achten das es ohne BOM (Byte Order Mark) gespeichert wird. Fast alles Editoren/IDE's unterstützen das speichern in UTF-8 Format.

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)