Hi Julien, thanks for that! it solved it! but I still don't quite get why this would trigger the error. As all the data should already be in unicode?
thanks again! o On 7 May, 09:00, Julien <[EMAIL PROTECTED]> wrote: > Hi, > > The strings you are saving into database may need to be encoded to > UTF-8 first, e.g: "A string".encode('utf-8') > > Julien > > On May 7, 5:21 pm, oliver <[EMAIL PROTECTED]> wrote: > > > as an extra note, all Tables and Fields involved in this are set to > > Utf8 / unicode. > > > On 7 May, 08:19, oliver <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > I am building a fairly large website but I have come a cross one very > > > odd error. > > > We build a simple email record model that has a custom def save() > > > function which when called creates a new Record and fires of the > > > email(s). > > > Now this all works fine till I get a non English PC using this (the > > > error below is from our very basic contact form!) > > > > Exception Type: UnicodeEncodeError at /contact-opal-students/ > > > Exception Value: 'ascii' codec can't encode character u'\xb4' in > > > position 88: ordinal not in range(128) > > > > For some reason when we try to put the email context into the db field > > > the errors out as it trys to ASCII a unicode field. > > > > I already had a lengthy chat with people in IRC who tried to help but > > > we couldn't find what was wrong. > > > > This happens on our live server (debian, apache-mod python 2.4, mysql) > > > and on our development machines (windows, python 2.5, django > > > devserver, mysql 5) > > > > To reproduce it I have to change a virtual machine to some foreign > > > language settings and enter some "odd" chars like ' ` ... > > > > I can "fix" the issue by switching to Postgrsql which seems to not > > > have this problem (tried it and it works fine, but I would need to > > > change some code in other places, so I would prefer to find out what > > > this error is about)? > > > > Google has only a few hits on this with out much use. > > > > Thanks > > > --- > > > > (the whole error is on dpaste.com as wellhttp://dpaste.com/48646/ > > > with code) > > > Traceback: > > > > Environment: > > > > Traceback: > > > File "c:\python25\lib\site-packages\django\core\handlers\base.py" in > > > get_response > > > 82. response = callback(request, *callback_args, > > > **callback_kwargs) > > > File "C:\PROJECTS\OpalStudents\cms\views.py" in ContactUs > > > 60. an_email.save(object) > > > File "C:\PROJECTS\OpalStudents\EmailSystem\models.py" in save > > > 101. super(EmailRecord, self).save() > > > File "c:\python25\lib\site-packages\django\db\models\base.py" in save > > > 272. self.save_base() > > > File "c:\python25\lib\site-packages\django\db\models\base.py" in > > > save_base > > > 329. result = manager._insert(values, > > > return_id=update_pk) > > > File "c:\python25\lib\site-packages\django\db\models\manager.py" in > > > _insert > > > 127. return insert_query(self.model, values, **kwargs) > > > File "c:\python25\lib\site-packages\django\db\models\query.py" in > > > insert_query > > > 729. return query.execute_sql(return_id) > > > File "c:\python25\lib\site-packages\django\db\models\sql > > > \subqueries.py" in execute_sql > > > 300. cursor = super(InsertQuery, self).execute_sql(None) > > > File "c:\python25\lib\site-packages\django\db\models\sql\query.py" in > > > execute_sql > > > 1466. cursor.execute(sql, params) > > > File "c:\python25\lib\site-packages\django\db\backends\util.py" in > > > execute > > > 18. return self.cursor.execute(sql, params) > > > File "c:\python25\lib\site-packages\MySQLdb\cursors.py" in execute > > > 151. query = query % db.literal(args) > > > File "c:\python25\lib\site-packages\MySQLdb\connections.py" in literal > > > 247. return self.escape(o, self.encoders) > > > File "c:\python25\lib\site-packages\MySQLdb\connections.py" in > > > string_literal > > > 180. return db.string_literal(obj) > > > > Exception Type: UnicodeEncodeError at /contact-opal-students/ > > > Exception Value: 'ascii' codec can't encode character u'\xb4' in > > > position 88: ordinal not in range(128) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---