Python 使用UTF-8在所有django表单提交中避免无效字节序列

Python 使用UTF-8在所有django表单提交中避免无效字节序列,python,django,utf-8,character-encoding,Python,Django,Utf 8,Character Encoding,我提供用户输入数据。因为用户似乎要进行大量的复制/粘贴。我面临解码错误DjangoUnicodeDecodeError:“utf8”编解码器无法解码位置22处的字节0×96 是否有必要将accept charset=“UTF-8”设置为所有表单。由于所有表单主要由管理员生成,因此我是否应该覆盖管理员设置 我将来如何避免这些问题?我需要更改默认的AdminSite还是更改已有100000用户的数据库?我不认为accept字符集是您的问题。默认情况下,所有表单都接受UTF8数据。 在处理输入数据的代

我提供用户输入数据。因为用户似乎要进行大量的复制/粘贴。我面临解码错误
DjangoUnicodeDecodeError:“utf8”编解码器无法解码位置22处的字节0×96

是否有必要将
accept charset=“UTF-8”
设置为所有表单。由于所有表单主要由管理员生成,因此我是否应该覆盖管理员设置


我将来如何避免这些问题?我需要更改默认的AdminSite还是更改已有100000用户的数据库?

我不认为accept字符集是您的问题。默认情况下,所有表单都接受UTF8数据。 在处理输入数据的代码中检查以下语句:

value = str(request.POST['user_input'])
value = 'prefix' + request.POST['user-input'] 
# instead of u'prefix' + request.POST['user-input']
对于可能包含非ASCII符号的用户输入,使用str()是一个常见错误。
还要检查.py文件是否保存为UTF-8。上述错误可能有很多原因…

我相信我们有相同或类似的问题,我很想知道您是如何解决的?我四处搜索,想把admin转换为accept charset utf-8,但下面的答案似乎很有信心,这是不对的。你最后做了什么?stackoverflow.com/questions/22800414/python-django-iso-8859-1-user-input-encoding-corrupting-utf-8-django-mysql-data@StrikePricer在基本形式中,我一直接受字符集UTF8。但是为了让它工作,我必须对DB进行字符集约束,它解决了这个问题。