2016-07-31 26 views
0

Ich versuche, utf8 codierte HTML mit libxml2 zu speichern, es funktioniert gut, aber nicht ASCII-Zeichen als Г gespeichert. Code verwendet Datei zu speichern:libxml2 htmlSaveFileEnc speichert utf8 Zeichen als Г

htmlSaveFileEnc("modified.html", docPtr, "utf8"); 

Wie kann ich dies verhindern und es als

Г

UTF8-Zeichen sparen?

Antwort

1

Als Workaround verwenden Sie htmlDocContentDumpOutput() Funktion. Dump Dokument Inhalt char Puffer und schreibe den Puffer in Datei.

//htmlSaveFileEnc("modified.html", docPtr, "utf8"); 
xmlOutputBufferPtr out = xmlAllocOutputBuffer(NULL); 
if (out) { 
    htmlDocContentDumpOutput(out, docPtr, "utf8"); 
    const xmlChar *buffer = xmlBufferContent((xmlBuffer *) out->buffer);  
    // write buffer to file 
    FILE *file = fopen("modified.html", "w"); 
    fputs((char *) buffer, file); 
    fclose(file); 

    xmlOutputBufferClose(out); 
} 
+0

vielen Dank, geholfen. – crashtua