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.