如何将 MYSQL Latin-1 GEOMETRY 字段转换为 UTF8 以使其与 Django 一起使用?

How to Convert MYSQL Latin-1 GEOMETRY field to UTF8 to get it to work with Django?

尝试将字段转换回自身会引发以下错误。

UPDATE <table> SET geo_field = CONVERT(CAST(CONVERT(geo_field USING latin1) AS BINARY) USING utf8); 

[Err] 1416 - Cannot get geometry object from data you send to the GEOMETRY field

我正在尝试使用 django 1.9 进行数据转储 json,但它一直对 latin-1 字符感到窒息。

我正在使用 mysql.gis 后端。

尝试在 python 中使用原始游标也没有用。

def convert_latin_uft8(badfields, table, host, user, passwd, db ):
    import MySQLdb
    con = MySQLdb.connect(host=host, user=user, passwd=passwd, db=db)
    cur = con.cursor()
    cur.execute("SELECT * FROM `{0}`;".format(table))
    for item in cur.fetchall():
        for field in badfields:
            data =item[field].decode('latin1').encode('utf8')
            print data

我卡住了。任何帮助将不胜感激。

paths 字段设置了不正确的模型类型。

paths = models.PolygonField()

工作起来很有魅力!