2012-03-07 42 views
1

Iam在C中编程并使用libxml生成XML文件,但iam得到以下错误 错误:xmlEscapeEntities:char超出范围。我从数据库中选择数据并将其存储在iam生成的标签中(在生成XML文件的过程中)。xmlEscapeEntities:字符超出范围 - 错误

我想知道为什么iam得到这个错误。这是什么主要原因? 代码尖晶石:

 xmlNodeSetContent(temp_id,(const xmlChar *)details[nCl1+0]); 
      632         xmlNodeSetContent(temp_id2, (const xmlChar *)details[nCl1+1]); 
      633         xmlNodeSetContent(temp_id3,(const xmlChar *)details[nCl1+2]); 
      634         xmlNodeSetContent(temp_id4,(const xmlChar *)details[nCl1+3]); 
      635         xmlNodeSetContent(temp_id5,(const xmlChar *)details[nCl1+4]) 

; 

这里变量“细节”的值有从数据库中挑选。
这是代码的一部分,我得到这个错误。

+0

也许如果你与导致错误的(有关!)代码一起给了完整的错误,我们也许能帮助你更好。 – 2012-03-07 14:09:40

回答

1

我猜你提供的字符串为xmlChar *不是正确的UTF-8字符串。所以它可能以其他标准编码,您需要先将其转换为UTF-8。您可以使用例如iconv library

看到一个question about xmlChar

相关问题