I created the following test case into django's test suite modeltests/ basic/tests.py: def test_unicode(self): # Note: from __future__ import unicode_literals is in effect... a = Article.objects.create(headline='0 \u0442\u0435\u0441\u0442 test', pub_date=datetime.n ow()) self.assertEqual(Article.objects.get(pk=a.pk).headline, '0 \u0442\u0435\u0441\u0442 test' )
This does pass on Oracle when using Django's master branch, both with Python 2.7 and 3.3. Django's backend is doing all sorts of trickery behind the scenes to get correct unicode handling. I am not sure where the problem is. What Django version are you using? - Anssi On 8 tammi, 17:34, Jani Tiainen <rede...@gmail.com> wrote: > Hi, > > I've been trying to save UTF-8 characters to oracle database without > success. > > I've verified that database is indeed UTF-8 capable. > > I can insert UTF-8 characters directly using cx_Oracle. > > But when I use ORM it will trash characters. > > Model I use: > > class MyTest(models.Model): > txt = CharField(max_length=128) > > s = u'0 \u0442\u0435\u0441\u0442 test' > > i = MyTest() > i.txt = s > i.save() > > i2 = MyTest.objects.get(id=i.id) > print i2.txt > > u'0 \xbf\xbf\xbf\xbf test' > > So what happens here? It looks like Django trashes my unicode string at > some (unknown point). > > Additional note: > > If I use cursor() from Django connection object strings get broken also. > So it must be django Oracle backend doing something evil for me. > > -- > Jani Tiainen > > - Well planned is half done and a half done has been sufficient before... -- 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 django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.