Python Django:“ascii”编解码器无法解码位置1035处的字节0xc3:序号不在范围内(128)

Python Django:“ascii”编解码器无法解码位置1035处的字节0xc3:序号不在范围内(128),python,django,encoding,nginx,utf-8,Python,Django,Encoding,Nginx,Utf 8,Django 1.6 Python 3 Nginx,uWsgi 有一个关于此错误的视图主题,但解决方案不适用于我 我有一个web应用程序,可以将xml文件上载到tar存档中以进行导入 在本地计算机上使用python manage.py runserver运行应用程序时,导入过程运行得非常完美。在使用Nginx和uWsgi在vServer上运行应用程序时,出现以下错误: UnicodeDecodeError at /sync/upload/ 'ascii' codec can't decode b

Django 1.6 Python 3 Nginx,uWsgi

有一个关于此错误的视图主题,但解决方案不适用于我

我有一个web应用程序,可以将xml文件上载到tar存档中以进行导入

在本地计算机上使用python manage.py runserver运行应用程序时,导入过程运行得非常完美。在使用Nginx和uWsgi在vServer上运行应用程序时,出现以下错误:

UnicodeDecodeError at /sync/upload/
'ascii' codec can't decode byte 0xc3 in position 1035: ordinal not in range(128)
错误发生在我写的最后一行,代码从那里运行:

xml = f.read() <- My line
return codecs.ascii_decode(input, self.errors)[0]
由于整个问题都发生在我的系统上,而不是vps上,所以我假设问题是某种配置问题。到目前为止,我已经尝试在nginx启动之前设置LANG和LC_ALL,并在openxmlfile作为f时提供encoding='utf-8'属性。加上许多不同的方法试图手工编码

所以我知道我别无选择

我在瑞士使用en_US.UTF-8 ArchLinux机器工作。VPS是一台Debian机器,我不知道如何配置默认字符集,如果这是相关的话。欢迎任何帮助

感谢和问候, Adrian

您正在显式使用ascii\u解码。因此,语言设置超出范围。ascii_decode可以对0..127范围内的字节进行解码。但是0xc3=195>127。因此,您正在使用另一个文件测试服务器,该文件包含值大于127的字节。通常,xml读取器采用字节而不是字符串,因此不需要解码,因为编码是在xml文件中给出的