注意:复制并详细说明以下问题和答案: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和collation设置为latin1(我也尝试过utf8)。
答案 0 :(得分:0)
将iso-8859-1
(latin1
)个字符插入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 - 这不是错误)。