Search code examples
djangoutf-8dumpdata

Django dumpdata UTF-8 (Unicode)


Is there a easy way to dump UTF-8 data from a database?

I know this command:

manage.py dumpdata > mydata.json

But the data I got in the file mydata.json, Unicode data looks like:

"name": "\u4e1c\u6cf0\u9999\u6e2f\u4e94\u91d1\u6709\u9650\u516c\u53f8"

I would like to see a real Unicode string like 全球卫星定位系统 (Chinese).


Solution

  • django-admin.py dumpdata yourapp could dump for that purpose.

    Or if you use MySQL, you could use the mysqldump command to dump the whole database.

    And this thread has many ways to dump data, including manual methods.

    UPDATE: because OP edited the question.

    To convert from JSON encoding string to human readable string you could use this:

    open("mydata-new.json","wb").write(open("mydata.json").read().decode("unicode_escape").encode("utf8"))