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')

詳細については、DjangoにUnicode文字列を保存するときのMySQLの「不正な文字列値」エラーを参照してください

一般に、特にWindowsユーザーの場合は、http://bugs.mysql.com/bug.php ?id = 30131を参照してください(URLに惑わされないでください。これはバグではありません)。

于 2012-11-09T02:19:29.520 に答える