Hi All,
 
  I have a Book table in MySQL db.
  I configured my MySQL db and table to use utf8 character set and the 
utf8_general_ci collation 
  I created a simple Book class and tried to save unicode data using (a)the 
django shell  (b)  the data entry screen created by using ModelAdmin class 

  In both cases  I was getting errors.  The column in the model class is 
defined as having Charfield.

  I checked this link https://docs.djangoproject.com/en/1.5/ref/unicode/. I 
tried to use smart_text function. But it did not work.
  I am using python 2.7, django1.5, mysql 5x  in windows box
  The text I am trying to save is a devanagari script word (wikipedia lang 
code "hi"). 
  Below are the error messages.
  can some one please help.

regards


---------------text ---------------------------
s="श्रीमद्भगवद्गीता"
print (s)
श�रीमद�भगवद�गीता

------------Smart Text Error --------------------------------
from django.utils.encoding import * 
title=smart_text("श्रीमद्भगवद्गीता", encoding='utf-8', strings_only=False, 
errors='strict')
print(title)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Softwares\Python2.7.3\lib\encodings\cp1252.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 
0-15: character maps to <undefined>

-----------------Error trying to save the model from 
shell------------------------------
gita4 = Book(bookName= "श्रीमद्भगवद्गीता")
gita4.save()

Error message:
Warning: Incorrect string value: '\xE0\xA4\xB6\xE0\xA5\x8D...' for column 
'bookName' at row 1

------------------------- Full StackTrace 
----------------------------------------------------
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Softwares\Python2.7.3\lib\site-packages\django\db\models\base.py", 
line 546, in save
force_update=force_update, update_fields=update_fields)
File "C:\Softwares\Python2.7.3\lib\site-packages\django\db\models\base.py", 
line 650, in save_base
result = manager._insert([self], fields=fields, return_id=update_pk, 
using=using, raw=raw)
File 
"C:\Softwares\Python2.7.3\lib\site-packages\django\db\models\manager.py", 
line 215, in _insert
return insert_query(self.model, objs, fields, **kwargs)
File 
"C:\Softwares\Python2.7.3\lib\site-packages\django\db\models\query.py", 
line 1661, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File 
"C:\Softwares\Python2.7.3\lib\site-packages\django\db\models\sql\compiler.py", 
line 937, in execute_sql
cursor.execute(sql, params)
File 
"C:\Softwares\Python2.7.3\lib\site-packages\django\db\backends\util.py", 
line 41, in execute
return self.cursor.execute(sql, params)
File 
"C:\Softwares\Python2.7.3\lib\site-packages\django\db\backends\mysql\base.py", 
line 120, in execute
return self.cursor.execute(query, args)
File "C:\Softwares\Python2.7.3\lib\site-packages\MySQLdb\cursors.py", line 
204, in execute
if not self._defer_warnings: self._warning_check()
File "C:\Softwares\Python2.7.3\lib\site-packages\MySQLdb\cursors.py", line 
117, in _warning_check
warn(w[-1], self.Warning, 3)
Warning: Incorrect string value: '\xE0\xA4\xB6\xE0\xA5\x8D...' for column 
'bookName' at row 1


 

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to