xmlEscapeEntities: символ вне диапазона - ошибка - PullRequest
1 голос
/ 07 марта 2012

Я программирую на C и использую libxml для генерации XML-файла, но я получаю следующее ошибка: xmlEscapeEntities: символ вне диапазона. Я выбираю данные из базы данных и сохраняю их в тегах, которые я генерирую (во время генерации файла XML).

Я хочу знать, почему я получаю эту ошибку. Какова основная причина этого? Код спинета:

     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])

;

Здесь переменная "details" имеет значения, выбранные из базы данных.
Это часть кода, где я получаю эту ошибку.

1 Ответ

1 голос
/ 14 сентября 2012

Я предполагаю, что строка, указанная вами как xmlChar *, не является правильной строкой UTF-8 Так что он, вероятно, закодирован в другом стандарте, и вам нужно сначала преобразовать его в UTF-8. Вы можете использовать, например, iconv library .

См. вопрос о xmlChar

...