Django shell在不同情况下以不同方式解释字符

时间:2015-03-03 18:28:31

标签: python django shell encoding

我有一个名为load.py的python脚本,可以创建一些Django模型 即它运行如下命令:

User.objects.create(pk=1, name=u"Jake")

我正在尝试使用以下命令在django shell中运行此脚本:

python manage.py shell < load.py

问题是当我有特殊字符时。例如以下行

User.objects.create(pk=1, name=u"“Jake”")

当我手动将其复制并粘贴到shell中时,工作完全正常。 但是当我跑步时

python manage.py shell < load.py

我收到以下错误:

警告:字符串值不正确:第1行第'name'列的'\ xC2 \ x80 \ xC2 \ x9CPa ...'

知道为什么会这样吗?感谢

1 个答案:

答案 0 :(得分:1)

问题是我的SQL数据库中的编码。将列编码更改为utf-8解决了这个问题。