doxygen und umlaute

OP #1750058
Lesenswert?

Bin gerade dabei mein erstes Projekt mit doxygen zu dokumentieren. 
Leider werden die Umlaute in der HTML-Doku nicht richtig dargestellt.

Wenn ich die übliche HTML-Umschreibung für die Umlaute schon im 
Quelltext benutze, geht alles klar (siehe Link).

http://de.selfhtml.org/html/allgemein/zeichen.htm#umlaute

Das Dumme ist nur, daß dadurch die Kommentare im Quelltext recht 
unleserlich werden. Das würde ich gern vermeiden. Kann man doxygen 
irgendwie so konfigurieren, daß es die Umlaute für HTML automatisch 
richtig generiert?
OP #1750119
Lesenswert?

Ich habe unter doxygen jetzt den folgenden Header eingebunden.

<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>

Außerdem ist gilt: DOXYFILE_ENCODING = iso-8859-1

Doxygen erzeugt HTML Seiten mit Frames. In der eigentlich Ansicht rechts 
werdne die Umlaute jetzt angezeigt, aber nicht in der Fußzeile. Auch im 
Menü links werden die Umlaute noch nicht angezeigt.
Moderator Persönliche Seite #1750121
Lesenswert?

Sven Woehlbier schrieb:
> Ich habe unter doxygen jetzt den folgenden Header eingebunden.
>
> <head>
> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
> </head>

Der ist überflüssig.  ISO 8859-1 ist das default encoding einer
HTML-Seite.  Encoding per meta http-equiv ist sowieso bäh, weil es
vom Browser erwartet, dass er die Seite nach dem Erhalt nochmal
neu rendert.  Besser ist es, den Webserver so zu konfigurieren, dass
er das passende Encoding in den HTML-Headers rausgibt.

Wo dein Problem aber genau liegt, wenn du das im doxyfile korrekt
hast, kann ich dir auch nicht sagen.  Hast du dir denn das HTML
selbst mal angeguckt, ob es korrekt ist?  Nicht, dass nur dein
Browser spinnt.
OP #1750131
Lesenswert?

Ich habe jetzt die Lösung. Der Header ist wirklich überflüssig.
Aber es müssen die folgenden BEIDEN Einstellungen vorgenommen werden.

Expert->Project->DOXYFILE_ENCODING = iso-8859-1
Expert->Input->INPUT_ENCODING = iso-8859-1

Damit werden die Umlaute zumindest bei mir jetzt korrekt angezeigt.
Gast #2917366
Lesenswert?

Expert->Input-> INPUT_ENCODING = iso-8859-1 reicht völlig aus.

Die Ausgabe (DOXYFILE_ENCODING) kann auf UTF-8 bleiben.

VisualStudio 2010 nimmt standardmäßig übrigens CP1252 - das 
funktioniert also auch
Gast #2918170
Lesenswert?

Jörg Wunsch schrieb:
> Encoding per meta http-equiv ist sowieso bäh, weil es
> vom Browser erwartet, dass er die Seite nach dem Erhalt nochmal
> neu rendert.

Warum? Das steht doch im Header drin, den er schon hat, wenn er mit dem 
Rendern anfängt.

> Besser ist es, den Webserver so zu konfigurieren, dass er das passende
> Encoding in den HTML-Headers rausgibt.

Wie: "Webserver"? Doxygen-generierte Doku wird recht häufig lokal 
benutzt.
Gast #5460132
Lesenswert?

Lösung:

1) Expert->Input->Input_Encoding = ISO-8859-1

2) Expert->Project->Doxyfile_Encoding = UTF-8

Besten Dank für die Infos, so hat es bei mir funktioniert.

Input-Encoding steht für die Codierung der Eingabe-Dateien hier also die 
Source-Files in *.c die wir programmieren.

Das Doxyfile-Encoding müsste also nur geändert werden wenn z.B. Umlaute 
im dogygen config-file stehen würden.

Im Firefox-Browser war ISO-8859-1 eingestellt.

doxygen v_1.8.8, Win-Xp, AVR-Studio
Gruß, Martin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren