использовать акцентированные символы с QuickBooks SDK - PullRequest
4 голосов
/ 10 марта 2009

Использование Quickbooks SDK QBFC 7.0. Когда я пытаюсь получить список всех клиентов в быстрых книгах, если у кого-либо из них в имени есть акцентированный символ, такой как è, тогда я получаю исключение:

An Exception occurred! Type:UTFDataFormatException, Message: invalid byte 2 (<) 
of a 3-byte sequence. SAXParseException: error ar line 1, column 23 in XML data.

Несколько форумов Intuit говорили, что мне нужно изменить XML на UTF-8 (это все, что они говорят, они не дают реального решения), QBFC явно использует XML для отправки и получения данных, но я не могу найти в любом случае, чтобы переопределить кодировку по умолчанию.

Запрос создан с использованием следующего кода. Исключение возникает в DoRequests ()

IMsgSetRequest req = Session.GetLatestMsgSetRequest();
ICustomerQuery cq = req.AppendCustomerQueryRq();
IMsgSetResponse responseSet = Session.QBSM.DoRequests(req);

Ответы [ 3 ]

5 голосов
/ 28 июня 2013

В QBFC есть ошибка, из-за которой он не будет правильно кодироваться. Нет способа переопределить кодировку с помощью QBFC. Решения, которые у вас есть, это либо использовать qbXML, либо, если вы используете опцию IncludeRetElementList при создании запроса, он должен правильно кодироваться. Помните, что если вы используете IncludeRetElementList, вы должны указать точные поля, которые вы хотите вернуть.

ICustomerQuery custQuery = MsgRequest.AppendCustomerQueryRq();
custQuery.IncludeRetElementList.Add("ListID");
custQuery.IncludeRetElementList.Add("Name");
custQuery.IncludeRetElementList.Add("FirstName");
custQuery.IncludeRetElementList.Add("LastName");
custQuery.IncludeRetElementList.Add("ShipAddress");
0 голосов
/ 15 июня 2009

Переполнение появляется при попытке для просмотра отчета о пробном балансе некоторые учетные записи отображаются с переполнением, поскольку на нем не отображаются цифры.

То, что вы считаете проблемой.

Спасибо

Richard

0 голосов
/ 05 мая 2009

Я не знаю решения в QBFC, но в качестве обходного пути вы можете перейти непосредственно к qbXML, а также отправить и получить ответ для этого конкретного сообщения, используя XML. Похоже, у вас есть ограничение в QBFC, который на самом деле является оберткой для базового XML.

...