I've got a simple dict object I'm trying to store
in the database after it has been run through pickle. It seems that Django doesn't like trying to encode this error. I've checked with MySQL, and
the query isn't even getting there before it is throwing
the error, so I don't believe that is
the problem.
The dict I'm storing looks like this:
{
'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>
}
The error that gets thrown is:
'utf8' codec can't decode bytes
in position 52-53: invalid data.
Position 52-53 is
the first instance of \xd1 (Ñ)
in the pickled data.
So far, I've dug around StackOverflow and found a few questions where
the database encoding for
the objects was wrong. This doesn't help me because there is no MySQL query yet. This is happening before
the database. Google also didn't help much when searching for unicode errors on pickled data.
It is probably worth mentioning that if I don't use
the Ñ, this code works fine.