0
ISO-8859-1에 libxml2를 사용하여 XML 파일을 작성하려고합니다. 그러나 문서에서 볼 때 나는 각 텍스트 노드에 대해 libxml의 내부 인코딩 인 UTF-8로 변환해야한다고 생각합니다. 그런 다음 xmlSaveFormatFileEnc()를 호출하면 libxml이 대상 인코딩으로 변환되고 인코딩 특성이 문서에 추가됩니다.LibXML 내부 및 출력 인코딩
이 가정이 맞습니까? 는 지금 내 코드는 다음과 대략 간다 :
xmlNode *root_element = NULL, *node4 = NULL; xmlDoc *doc = NULL;
doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION);
root_element = xmlNewDocNode(doc, NULL, BAD_CAST("root"),
NULL);
char * input_str = getLatin1Data();
isolat1ToUTF8(utf8_str, &file_size, input_str, &inlen);
node4 = xmlNewCDataBlock(doc, BAD_CAST list_content, xmlStrlen(BAD_CAST utf8_str));
xmlAddChild(root_element, node4);
xmlSaveFormatFileEnc("test_file.xml", doc, "UTF-8", 1);
xmlFreeDoc(doc);
이 답변으로 문제가 해결되지 않습니다,하지만 난 정말 좋겠 라틴어 -1을 사용하기로 한 결정을 다시 생각해보십시오. 문자열에 유로 기호를 넣는 것만 큼 간단 할지라도 몇 년 (또는 심지어 몇 달) 후에는 유감스럽게 생각할 것입니다. UTF-8이 XML 및 기타 현대적인 기본 인코딩 인 이유가 있습니다 . –
예, 이제 UTF-8 변환 만 시도하려고합니다. isolat1ToUTF8()은 저에게 도움이되고 싶지 않습니다 :( –