MYSQL给出wierd错误消息



由于某种原因,如果我在数据库中提交"Nováobjednávka pro návštŞvníka",会导致此错误消息。我在数据库中注意到,如果它真的进入数据库,一些字符会被替换为?。


保存此配置时发生错误:SQLSTATE[HY000]:一般错误:1267操作'='的排序规则(latin_swedish_ci,IMPLICIT)和(utf8_General_ci,COERCIBLE)非法混合,查询为:SELECT Job_Id,tablename_colummname,email_template,days FROM Envato_CustomConfig_Job WHERE tablename_colummname=:tablename_c AND email_template=:emailAND days=:days AND timeStamp=:timeStamp AND Job_Id!=:id LIMIT 1

这是我用来创建表的sql。

DROP TABLE IF EXISTS {$this->getTable('Envato_CustomConfig_Job')};
CREATE TABLE {$this->getTable('Envato_CustomConfig_Job')} (
  `Job_Id` int(11) NOT NULL AUTO_INCREMENT,
  `tablename_colummname` varchar(100) NOT NULL,
  `email_template` varchar(100) NOT NULL,
  `days` INT(2) NOT NULL,
  `timeStamp`  varchar(100) NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`Job_Id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

将BINARY添加到WHERE子句中,例如:

WHERE BINARY tablename_colummname = BINARY :tablename_c

我希望这能有所帮助:-)

最新更新