2012-11-09 47 views
0

注意:複製並就這個問題和答案的闡述:https://groups.google.com/forum/?fromgroups=#!topic/django-users/OW_uSWCoObs不正確的字符串值運行時GeoDjango內置教程:「警告:不正確的字符串值」

您好,我試圖去通過GeoDjango內置教程,當我嘗試導入與LayerMapping我收到以下錯誤信息:

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

我使用MySQL和我的字符集和校對規則設置爲LATIN1(我也試過UTF8)。

回答

0

iso-8859-1latin1)字符插入到utf8列會導致MySQL拋出該錯誤。

這可以通過改變線路編碼教程世界/ 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 — this不是一個錯誤)。