Mysql "illegal mix of collations" ERROR
Verfasst: Dienstag 15. Januar 2013, 08:35
Hallo,
ich habe wiedermal ein Kodierungs Problem, mit dem ich alleine nicht weiter komme. Ich mache eine MySQL Select Abfrage mit mysqldb, die auf Windows wie Linux laufen soll. Bei der Mysql Tabelle ist als Collation "latin1 - default collation" eingestellt.
Mein Skript schaut verkürzt wie folgt aus:
Nun zu dem, was ich absolut nicht verstehe: Unter Windows läuft das einwandfrei. Unter Linux wirft es folgenden Fehler für die Select Abfrage aus:
Kann mir da jemand helfen und mir erklären woher dieses Problem kommt und wie ich es lösen kann?
Vielen Dank!
ich habe wiedermal ein Kodierungs Problem, mit dem ich alleine nicht weiter komme. Ich mache eine MySQL Select Abfrage mit mysqldb, die auf Windows wie Linux laufen soll. Bei der Mysql Tabelle ist als Collation "latin1 - default collation" eingestellt.
Mein Skript schaut verkürzt wie folgt aus:
Code: Alles auswählen
self.db = MySQLdb.connect(host=self.VdrHOST, user=self.MysqlUser, passwd=self.MysqlPass,db=self.MysqlDB, use_unicode=0)
self.cursor = self.db.cursor()
self.cursor.execute(u"SELECT * FROM TestTimer WHERE Timer LIKE %s AND User LIKE %s",(RoheDataSpl[1].encode("latin1",'replace'),Userid.encode("latin1",'replace')))
result = self.cursor.fetchall()
Code: Alles auswählen
_mysql_exceptions.OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'")
Vielen Dank!