0

注意:复制并详细说明此问题和答案来自: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,我的字符集和排序规则设置为 latin1(我也尝试过 utf8)。

4

1 回答 1

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 在 Django 中保存 unicode 字符串时出现“不正确的字符串值”错误

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

于 2012-11-09T02:19:29.520 回答