运行GeoDjango教程时字符串值不正确:“警告:字符串值不正确”

时间:2012-11-09 02:19:30

标签: mysql django geodjango

注意:复制并详细说明以下问题和答案:https://groups.google.com/forum/?fromgroups=#!topic/django-users/OW_uSWCoObs

嗨,我正在尝试浏览GeoDjango教程,当我尝试使用LayerMapping导入数据时,我收到以下错误:

  Warning: Incorrect string value: '\xC2\x85land...' for column 'name' at row 1

我正在使用MySQL,我的charset和collat​​ion设置为latin1(我也尝试过utf8)。

1 个答案:

答案 0 :(得分:0)

iso-8859-1latin1)个字符插入utf8列会导致MySQL抛出该错误。

这可以通过改变world / load.py教程中的行中的编码来解决:

lm = LayerMapping(WorldBorder, world_shp, world_mapping,
                  transform=False, encoding='iso-8859-1')

以下......

lm = LayerMapping(WorldBorder, world_shp, world_mapping,
                  transform=False, encoding='utf8')

有关详情,请参阅MySQL "incorrect string value" error when save unicode string in Django

通常,请参阅http://bugs.mysql.com/bug.php?id=30131以获取更多详细信息,特别是如果您是Windows用户(不要误导URL - 这不是错误)。