我正在尝试在msvc11中使用docxfactory c ++库来生成带标签的一些预定义文档。但问题是我无法使用setClipboardValue注入阿拉伯语文本。我一直在用一些奇怪的文字得到一个输出。任何人都有我的问题的想法或替代解决方案?
WordProcessingMerger& l_merger =
WordProcessingMerger::getInstance();
l_merger.load("C:/Program Files (x86)/DocxFactory/samples/templates/exercise12.dfw");
l_merger.setClipboardValue("_header", "PrintDate",(double) l_start);
l_merger.paste("file");
for (int i = 0; i < 1; i++)
{
l_merger.setClipboardValue("Line", "tag1","أبجد");
l_merger.setClipboardValue("Line", "tag2","أبجد");
l_merger.paste("Line");
}
l_merger.save("C:/Program Files (x86)/DocxFactory/samples/templates/exercise12_out.docx");
cout<< "Completed (in "
<< (double) (clock() - l_start) / CLOCKS_PER_SEC
<< " seconds)."
<< endl;
答案 0 :(得分:0)
阿拉伯语是unicode(UTF-8)代码页吗?
DocxFactory默认使用计算机的默认代码页,该代码页可能不是unicode。
您可以尝试手动设置代码页 -
l_merger.setCodePage(&#34; UTF-8&#34);
谢谢你, 阿龙