libxml2 htmlSaveFileEnc 将 utf8 字符保存为 Γ
libxml2 htmlSaveFileEnc saves utf8 chars as Г
我正在尝试使用 libxml2 保存 utf8 编码 html,它工作正常,但非 ascii 字符保存为 Г
。用于保存文件的代码:
htmlSaveFileEnc("modified.html", docPtr, "utf8");
如何防止这种情况并将其保存为
Г
utf8 字符?
作为变通方法,使用 htmlDocContentDumpOutput()
函数。将文档内容转储到字符缓冲区并将缓冲区写入文件。
//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);
}
我正在尝试使用 libxml2 保存 utf8 编码 html,它工作正常,但非 ascii 字符保存为 Г
。用于保存文件的代码:
htmlSaveFileEnc("modified.html", docPtr, "utf8");
如何防止这种情况并将其保存为
Г
utf8 字符?
作为变通方法,使用 htmlDocContentDumpOutput()
函数。将文档内容转储到字符缓冲区并将缓冲区写入文件。
//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);
}