由于某种原因,如果我在数据库中提交"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
我希望这能有所帮助:-)