我试图通过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()
答案 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')