é ô à auf Datei schreiben



  • Hallo,
    wenn ich die Zeichnen (é, ô, à) auf eine Datei schreibe und diese Datei mit Internet Expolrer offne zeigt mir Fehler bei diesen Zeichnen und gibt an der Stelle komische kästchen .
    Ich schreibe diese Zeichnen mit

    # include <fstrem>
    
    ofstream fileout;
    

    Weisst jemand was ich falsch mache? wenn ich die Datei mit dem Editor offne sehe ich die zeichnen da. Diese Zeichnen sind nicht in Ascci table und haben minus Werte.

    Soll ich an statt fstream andere Funktion benutzen?

    Ich bin dankbar für jede Hilfe.

    MfG



  • Ich arbeite auch gerade mit Files und Streams und habe es mal kurz mit dem é getestet.
    "é" ist bei mir der Hexwert 0xE9.

    Den habe ich mit

    char e = 0xE9;
    ofstream pOutFile->Write(&e,1);
    

    in eine Textdatei geschrieben.

    Die Datei wird im Editor sowie im IE korrekt angezeigt.

    Poste mal bitte woran es lag - Danke !



  • Deniz schrieb

    Ich weis die Antwort "bei mir gehts" ist einfach nur *!%$$*
    

    kannst du mir etwas erklären.

    und was ist pOutfile->



  • Man kann keine Zeichen > 0x7e in eine Datei schreiben, ohne dass man "sagen" muss, wass für ein Encoding das sein soll.
    ALso, in welchem Encoding willst Du diese Zeichen rausschreiben!?



  • Hallo und Guten Morgen,
    Solche zeichnen kommen in einem XML-Datei , Die auch mit Internet-Explorer geöffnet wird. Die xml hat die Encoding

    encoding="UTF-8"
    

    Solche Zeichnen kommen in Adressen, die im Ausland sind--> Frankreich oder Spanien.
    Ich habe die erst mal umgewandelt zum Beispiel é --> ´e ...2 Zeichnen ..aber natürlich bin ich nicht zufrieden damit.



  • Für UTF-8 rate ich Dir einen BOM zu schreiben und dann mittels "WideCharToMultiByte" und CP_UTF8 in UTF-8 umwandeln und rausschreiben.

    BOM: http://www.unicode.org/faq/utf_bom.html



  • Danke für deine Encoding Hinweis. ich habe danach geschaut und gefunden , dass , wenn ich die encoding

    <?xml version="1.0" encoding="ISO-8859-1"?>
    

    benutze Statt encoding

    <?xml version="1.0" encoding="UTF-8"?>
    

    laüft nicht auf Fehler.

    Ich lese mir gerade über das BOM. Kann sein, dass ich das BOM doch brauche wenn der Empfänger des Xml-Dokumentes nichts mit ISO-8859-1 machen kann.



  • Wenn Du UTF-8 schreibst, solltest Du auf jeden Fall einen BOM schreiben. Dann ist es nämlich eindeutig, dass es UTF-8 ist... sonst muss man wieder rätseln...


Anmelden zum Antworten