﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
20112	UnicodeDecodeError with not UTF-8 charset database connection	err	nobody	"Here is my database connection

{{{
'default': {                                                                  
    'NAME':     'mydb',                                                      
    'ENGINE':   'django.db.backends.mysql',                                                                                        
    'OPTIONS' : {""charset"": ""cp1251""},                                                                                
}
}}}


{{{
B2.objects.filter(name=u'hello')
[]

>>> B2.objects.filter(name=u'йц')
Traceback (most recent call last):
  File ""<console>"", line 1, in <module>
  File ""/usr/local/lib/python2.7/dist-packages/django/db/models/query.py"", line 77, in __repr__
    data = list(self[:REPR_OUTPUT_SIZE + 1])
  File ""/usr/local/lib/python2.7/dist-packages/django/db/models/query.py"", line 92, in __len__
    self._result_cache.extend(self._iter)
  File ""/usr/local/lib/python2.7/dist-packages/django/db/models/query.py"", line 344, in _safe_iterator
    for item in iterator:
  File ""/usr/local/lib/python2.7/dist-packages/django/db/models/query.py"", line 301, in iterator
    for row in compiler.results_iter():
  File ""/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py"", line 775, in results_iter
    for rows in self.execute_sql(MULTI):
  File ""/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py"", line 840, in execute_sql
    cursor.execute(sql, params)
  File ""/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py"", line 45, in execute
    sql = self.db.ops.last_executed_query(self.cursor, sql, params)
  File ""/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py"", line 243, in last_executed_query
    return cursor._last_executed.decode('utf-8')
  File ""/usr/lib/python2.7/encodings/utf_8.py"", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 831: invalid continuation byte
}}}

In this ticket https://code.djangoproject.com/ticket/18461
return cursor._last_executed.decode('utf-8')
was added

But I guess we should do something like (in case of mysql):

{{{
         encoding = cursor.connection.character_set_name()
         return cursor._last_executed.decode(encoding)
}}}
"	Bug	closed	Core (Other)	1.5	Normal	wontfix			Accepted	0	0	0	0	0	0
