Encode API XML output to UTF-8

This commit is contained in:
JonnyWong16 2020-03-30 13:55:17 -07:00
parent 50ce29cc64
commit 1ffd6c0ea1

View file

@ -619,9 +619,9 @@ General optional parameters:
cherrypy.response.headers['Content-Type'] = 'application/json;charset=UTF-8'
try:
if self._api_debug:
out = json.dumps(out, indent=4, sort_keys=True, ensure_ascii=False).encode('utf-8')
out = json.dumps(out, indent=4, sort_keys=True, ensure_ascii=False)
else:
out = json.dumps(out, ensure_ascii=False).encode('utf-8')
out = json.dumps(out, ensure_ascii=False)
if self._api_callback is not None:
cherrypy.response.headers['Content-Type'] = 'application/javascript'
# wrap with JSONP call if requested
@ -634,7 +634,7 @@ General optional parameters:
out['result'] = 'error'
elif self._api_out_type == 'xml':
cherrypy.response.headers['Content-Type'] = 'application/xml'
cherrypy.response.headers['Content-Type'] = 'application/xml;charset=UTF-8'
try:
out = xmltodict.unparse(out, pretty=True)
except Exception as e:
@ -655,7 +655,7 @@ General optional parameters:
</response>
''' % e
return out
return out.encode('utf-8')
def _api_run(self, *args, **kwargs):
""" handles the stuff from the handler """