icn*_*icn 16 django utf-8 dumpdata
有没有一种从数据库转储UTF-8数据的简单方法?
我知道这个命令:
manage.py dumpdata > mydata.json
Run Code Online (Sandbox Code Playgroud)
但是我在mydata.json文件中得到的数据,Unicode数据看起来像:
"name": "\u4e1c\u6cf0\u9999\u6e2f\u4e94\u91d1\u6709\u9650\u516c\u53f8"
Run Code Online (Sandbox Code Playgroud)
我想看一个真正的Unicode字符串,如????????(中文).
Zac*_*ché 16
@Julian Polard 的帖子中的这个解决方案对我有用。
-Xutf8基本上只需在运行此命令之前py或运行时添加python:
python -Xutf8 manage.py dumpdata > data.json
Run Code Online (Sandbox Code Playgroud)
如果这对您有用,请也为他的答案点赞^_^
Tis*_*sho 11
在遇到类似问题之后,我刚刚发现,xml格式化程序正确处理UTF8.
manage.py dumpdata --format=xml > output.xml
Run Code Online (Sandbox Code Playgroud)
我不得不将数据从Django 0.96传输到Django 1.3.经过多次尝试转储/加载数据后,我终于成功使用了xml.现在没有副作用.
希望这会对某人有所帮助,因为我在寻找解决方案时已经登陆了这个线程.
django-admin.py dumpdata yourapp可以为此目的转储.
或者,如果您使用MySQL,则可以使用mysqldump命令转储整个数据库.
而这个线程有许多方法来转储数据,包括手工方法.
更新:因为OP编辑了这个问题.
要将JSON编码字符串转换为人类可读字符串,您可以使用:
open("mydata-new.json","wb").write(open("mydata.json").read().decode("unicode_escape").encode("utf8"))
Run Code Online (Sandbox Code Playgroud)
您需要json.dump*()在Django代码中找到对的调用,并传递其他选项ensure_ascii=False,然后对结果进行编码,或者需要使用json.load*()加载JSON,然后使用该选项将其转储。
| 归档时间: |
|
| 查看次数: |
8159 次 |
| 最近记录: |