转自: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
不需要重启即可
原文链接:https://www.f2er.com/xml/297345.html