Tally ERP 9 XML XTTP数据导出

时间:2012-05-07 15:12:28

标签: xml export xmlhttprequest

我试图通过localhost:9000通过XML HTTP从Tally ERP 9导出数据。我正在使用ASCII数据获取XML文件。这导致许多符号带有'?'。像Ruppee符号和欧元符号。有没有办法用Unicode导出数据?使用的POC是

import httplib
c=httplib.HTTPConnection('localhost:9000')
headers = {"Content-type": "text/xml;charset=UTF-8", "Accept": "text/xml"}
params = """<ENVELOPE>
        <HEADER>
        <TALLYREQUEST>Export Data</TALLYREQUEST>
        </HEADER>
        <BODY>
        <EXPORTDATA>
        <REQUESTDESC>
        <REPORTNAME>List of Accounts</REPORTNAME>
        <STATICVARIABLES>
        <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
        <ACCOUNTTYPE>Ledgers</ACCOUNTTYPE>
        <ENCODINGTYPE>UNICODE</ENCODINGTYPE>
        </STATICVARIABLES>
        </REQUESTDESC>
        </EXPORTDATA>
        </BODY>
        </ENVELOPE>
        """


c.request("POST", "/", params, headers)
r=c.getresponse().read()

fl=file("d:/xtemp.xml","w")
fl.write(r)
fl.close()

2 个答案:

答案 0 :(得分:0)

这似乎更像是系统字体而不是Tally的问题。

确保安装了Rupakara字体,其中包含卢比符号的unicode转换。得到它here.

答案 1 :(得分:0)

要从Tally ERP 9中检索UNICODE数据,必须将以下标头添加到HTTP POST请求中。

语法

XMLHttpRequest.setRequestHeader(标头,值)

HTTP标头以UNICODE格式导出提示数据

XMLHttpRequest.setRequestHeader('UNICODE','YES')

XMLHttpRequest.setRequestHeader('Content-Type','text / xml; charset = unicode')

知识库:https://www.rtslink.com