Encode API XML output to UTF-8
This commit is contained in:
@@ -619,9 +619,9 @@ General optional parameters:
|
|||||||
cherrypy.response.headers['Content-Type'] = 'application/json;charset=UTF-8'
|
cherrypy.response.headers['Content-Type'] = 'application/json;charset=UTF-8'
|
||||||
try:
|
try:
|
||||||
if self._api_debug:
|
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:
|
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:
|
if self._api_callback is not None:
|
||||||
cherrypy.response.headers['Content-Type'] = 'application/javascript'
|
cherrypy.response.headers['Content-Type'] = 'application/javascript'
|
||||||
# wrap with JSONP call if requested
|
# wrap with JSONP call if requested
|
||||||
@@ -634,7 +634,7 @@ General optional parameters:
|
|||||||
out['result'] = 'error'
|
out['result'] = 'error'
|
||||||
|
|
||||||
elif self._api_out_type == 'xml':
|
elif self._api_out_type == 'xml':
|
||||||
cherrypy.response.headers['Content-Type'] = 'application/xml'
|
cherrypy.response.headers['Content-Type'] = 'application/xml;charset=UTF-8'
|
||||||
try:
|
try:
|
||||||
out = xmltodict.unparse(out, pretty=True)
|
out = xmltodict.unparse(out, pretty=True)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -655,7 +655,7 @@ General optional parameters:
|
|||||||
</response>
|
</response>
|
||||||
''' % e
|
''' % e
|
||||||
|
|
||||||
return out
|
return out.encode('utf-8')
|
||||||
|
|
||||||
def _api_run(self, *args, **kwargs):
|
def _api_run(self, *args, **kwargs):
|
||||||
""" handles the stuff from the handler """
|
""" handles the stuff from the handler """
|
||||||
|
Reference in New Issue
Block a user