2009-03-10 7 views
3

Quickbooks SDK QBFC 7.0を使用する。クイックブックSDKでアクセント付き文字を使用する

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フォーラムは、私が変更しなければならないと述べている:私はQuickBooksの中のすべての顧客のリストを取得しようとすると、顧客のいずれかがèような彼らの名前にアクセント付き文字を持っている場合、私は例外を取得しますXMLにUTF-8(彼らはすべて彼らが言っている、彼らは本当の解決策を与えない)、QBFCは明らかにデータを送受信するためにXMLを使用するが、私はとにかくデフォルトのエンコーディングをオーバーライドするために見つけることができない。

リクエストは次のコードで作成されます。例外は、私がQBFC内の溶液を知りませんが、回避策として、あなたがqbXMLに直接行くことができ、およびXMLを使用して、この特定のメッセージに対する応答を送信および受信

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

答えて

0

)(DoRequestsで発生します。 QBFCには制限があるように思えますが、これは基本的にはXMLのラッパーです。私は試算表レポートを表示する をしようとしたとき

0

オーバーフローが表示され、それがどの番号を表示しないように、いくつかのアカウントがオーバーフローして表示します。

あなたの意見は問題です。

おかげ

リチャード

4

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

あなたは私の新しいBFFです。 – Finch042

関連する問題