У меня есть простой объект dict
, который я пытаюсь сохранить в базе данных после того, как он был запущен через pickle
. Кажется, что Django не любит пытаться закодировать эту ошибку. Я проверил с MySQL, и запрос даже не добирается до того, как он выбросит ошибку, поэтому я не считаю, что это проблема. dict
Я хранение выглядит так:DjangoUnicodeDecodeError при хранении данных pickle'd
{
'ordered': [
{ 'value': u'First\xd1ame Last\xd1ame',
'label': u'Full Name' },
{ 'value': u'123-456-7890',
'label': u'Phone Number' },
{ 'value': u'[email protected]',
'label': u'Email Address' } ],
'cleaned_data': {
u'Phone Number': u'123-456-7890',
u'Full Name': u'First\xd1ame Last\xd1ame',
u'Email Address': u'[email protected]' },
'post_data': <QueryDict: {
u'Phone Number': [u'1234567890'],
u'Full Name_1': [u'Last\xd1ame'],
u'Full Name_0': [u'First\xd1ame'],
u'Email Address': [u'[email protected]'] }>,
'user': <User: itis>
}
ошибка, выкинет является: кодек
«utf8» не может декодировать байты в позиции 52-53: недействительные данные.
Позиция 52-53 является первым экземпляром \xd1
(Ñ) в маринованных данных.
До сих пор я вырыл вокруг StackOverflow и нашел несколько вопросов, где кодировка базы данных для объектов была неправильной. Это не помогает мне, потому что еще нет запроса MySQL. Это происходит перед базой данных. Google также не очень помог при поиске ошибок unicode на маринованных данных.
Возможно, стоит упомянуть, что если я не использую С, этот код работает нормально.
Возможно, это не относится к травлению как таковой, и может быть просто ошибкой в кодировке Unicode. Это может помочь http://www.amk.ca/python/howto/unicode –
Что может заставить вас поверить, что это может быть ошибка в unicode?Я довольно новичок в работе с международными персонажами, но все, кажется, закодировано прямо на моем глазу. –