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?
:
Verschoben durch Moderator
http://www.stack.nl/~dimitri/doxygen/config.html#cfg_doxyfile_encoding im Wizard unter Expert auf deine Format anpassen dann klappt auch mit dem Nachbarn aus Selfhtml: Wenn Sie Kodierungen wie ISO 8859-1 oder UTF-8 verwenden, können Sie die deutschen Umlaute direkt in Ihrem Editor eintippen. Das gilt auch für dich. IS0 8859-15 sollte passen
Es funktioniert leider nicht, es erscheint nach wie vor immer nur ein Fragezeichen. Muß ich eventuell noch irgendein Paket installieren? Ich benutze doxygen 1.6.3.
Was hast du denn in deinem doxygen.conf stehen? avr-libc hat zum Beispiel gleich als erstes: DOXYFILE_ENCODING = iso-8859-1 Intern wandelt Dxoygen mittlerweile alles in UTF-8 um, bevor es das dann ggf. für die Ausgabe in die einzelnen Formate konvertiert.
Muß ich eventuell noch einen HTML-Header definieren, der angibt welche Kodierung in der HTML-Seite verwendet wird? Wenn ja, wie muß der aussehen?
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.
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.
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.
logisch wenn du iso8859... reingibst dixygen utf-8 erwartet gehts natürlich schief...
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
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.
VS2012-Mik schrieb: > VisualStudio 2010 nimmt standardmäßig übrigens CP1252 - das > funktioniert also auch das gibts immer noch? warum verwenden die nicht wie (fast der ganze) rest der welt einfach utf-8 oder -16?
Danke für die Bekanntgabe der erfolgreichen Maßnahme. Das Setzen der beiden Variablen auf den Wert "iso-8859-1" hat bei mir auch gegriffen.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.