簡體   English   中英

django python 整理錯誤

[英]django python collation error

以下錯誤的原因是什么? 當我嘗試過濾時:

if MyObject.objects.filter(location = aDictionary['address']):

其中位置定義為:

location = models.CharField(max_length=100, blank=True, default='')

當 aDictionary['address'] 包含帶有非字母數字字符的字符串(例如 Kīhei)時,我收到以下錯誤:

  File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 35, in defaul
terrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1267, "Illegal mix of collations (latin1_sw
edish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")

更改 MySQL 中的數據庫,如下所示:

ALTER TABLE foo CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

創建新數據庫時,請記住使用正確的整理設置進行創建:

CREATE DATABASE foo CHARACTER SET utf8 COLLATE utf8_general_ci;

更多討論在這里

Python 正在使用 Unicode 字符串,而您的數據庫不是。 更改您的數據庫排序規則以使用 utf8,您應該沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM