pb資料視窗saveas成xml的時候返回-1的問題處理

happymagic發表於2015-01-20

轉自:http://blog.csdn.net/pb8/article/details/17420745

最近有遇到資料視窗saveas成xml的時候返回-1,而saveas成其它型別都是正常的

客戶的電腦是xp sp3

第一反應是dll環境問題,後來推測是sp3補丁問題,還有就是IE,vs2005,vs2008支援庫云云...

整了幾個小時,也大致瞭解了一次pb進行xml操作底層的一些東東,

pb的xml操作是用的一個開源xml元件,Xerces,所以在我們的pb不同版本都會有個pbXerces**.dll檔案

跟蹤pbXerces**.dll是正常的,通過多個工具多臺機器配合整理,

最終找到原因是XP預設字符集是GBK,而saveas成xml時預設會轉為gb2312,

由於是閹割版的XP,登錄檔中相應的編碼資訊對應不全,導致轉換成GB2312時出錯,

從另一臺完整的機器上將HKEY_CLASSES_ROOT\MIME\Database\Charset匯出再匯入到客戶機器OK

不需要重啟即可


相關文章