views:

53

answers:

3

In Django how to use unicode when inserting into DB

Example:

       name =request.POST["name"] //This may be in Chinese or any other lanuages
       usr = Users(name=name)
       usr.save()

The Python version that is used in Cent os is python 2.4.3 and mod python version is 1.2.1_p2-1

A: 

Use unicode('some string') in order to send the string to DB in Unicode. You might have different settings for the DB, but this is not connected with Django.

vlood
A: 

What database are you using? If it's MySQL, make sure you follow the Django documentation on creating UTF-8 compatible MySQL databases.

msanders
+1  A: 

you should check if your database has utf8 charset on table in which you are trying to insert.

for mysql

show create table TableName;

to change encoding

   alter table TableName DEFAULT CHARACTER SET utf8;
damir