Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Software » doxygen und unicode

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.07.2006, 11:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
da ich doch gerne doxygen inzwischen benutze, ist mir aufgefallen, das es utf-8 kodierte dateien nicht korrekt erkennt. Wenn z.b in einem Quellcode


C++:
/**
* Dies ist die übermäßige Methodä
*/




drinsteht, kommen ü und Co im Doxygen-HTML dann falsch raus, also als 2 Zeichen und nicht als ü. Irgendwie dekodiert das das UTF-8 falsch? Gibts da nen Trick für? Hab leider nix gefunden in der Hinsicht.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.07.2006, 12:52 Uhr
Pler
Einer von Vielen
(Operator)


Ich denke eher, dass die richtig Kodierten UTF-8-Zeichen später falsch interpetiert werden.

Wenn UTF-8-Zeichen mit Dez.-Code > 127 als Latin-Zeichen interpretiert werden, werden die immer durch zwei Zeichen dargestellt (bzw. dann noch mehr).

Wird vielleicht einfach nur das encoding bzw. charset in der HTML-Datei falsch, oder gar nicht, angegeben?
(Manchmal vergisst man ja auch die einfachsten Dinge zu achten)

Das sicherste ist glaub ich, du schaust dir den HTML-Quellcod mit nem Editor an, bei dem du das encoding umstellen kannst. Dann siehst du ja, ob deine HTML-Datei noch UTF-8 ist, oder vielleicht wirklich sonstwie verwurschtelt ist.

Kann man übrigens auch mit file testen, weiß aber nicht, ob das auch immer wirklich zuverlässig ist.

Dieser Post wurde am 13.07.2006 um 12:57 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.07.2006, 17:00 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hilft nix, der schreibt die falsch in die file.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.07.2006, 23:24 Uhr
Pler
Einer von Vielen
(Operator)


Hast du schon mal mit recode rumgespielt?
recode lat1..utf-8 datei

Was verstehst du unter "utf-8 falsch decodieren"? Decodieren wäre ja eigentlch genau das was ich meine. Es ist eigentlich richtig, wird aber vom Browser falsch interpretiert.

was kommt denn bei file raus?

Dieser Post wurde am 13.07.2006 um 23:25 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.07.2006, 08:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja, es generiert ja iso-8859-1 html, dann muss er die utf-8 zeichen korrekt kodieren, z.b als html-entitiy ODER eben da es ja ö usw ist, die in latin umwandeln, nur das macht es nicht.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.07.2006, 18:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Habs nun per Input-Filter gelöst, zwar nicht gerade performant, aber was solls, hab ja zeit


C++:
<?php
// $Id: DoxyFilter.php 791 2006-07-14 16:29:43Z FloSoft $
//
// Copyright (c) 2005-2006 Settlers Freaks (sf-team at siedler15.ra-doersch.de)
//
// This program is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option) any
// later version.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.

# read input file
$file = join('', @file($argv[1]));

# strip windows carriage returns
$file = str_replace("\r", "", $file);

# convert utf-8 to iso encoding
$file = mb_convert_encoding($file, "ISO-8859-15", "auto");

# output changed file
echo $file;

?>



Es ging eigentlich immer nur um sonderzeichen wie ä,ö,ß, usw, sonstige utf-8 chars sind nicht ja eigentlich nicht drin.

Nun klappts prima


Bearbeitung:

argh codeparser ist zu dumm zum ka...n


--
class God : public ChuckNorris { };

Dieser Post wurde am 14.07.2006 um 18:31 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.07.2006, 20:27 Uhr
Pler
Einer von Vielen
(Operator)


Hm. wenn das funktioniert, dann sollte es vorher wohl auch korrektes utf-8 sein.(?)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.07.2006, 23:04 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja so probiert er imho bei meinem system folgendes:

ASCII, ISO-8859-1(5), UTF-8, ...

also er probiert einige durch, auf jedenfalls gehts so. Ansonsten, bei den Dateien wo das Problem gab wurde auch UTF-8 als Character-Encoding korrekt im Editor angezeigt, bei den anderen wo es kein Problem gab eben ISO-8859-1 bzw wenn ein Eurozeichen drin war eben -15

Hauptsache es funktioniert!
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Software ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: