php 连接 mysql 出现类似下面的错误 ---------------------------------------- Illegal mix of collations (latin1_bin,IMPLICIT) and (latin1_swedish_ ci,IMPLICIT) for operation '=' ---------------------------------------- 解决方法是在发送查询前执行一下下面这句: SET NAMES 'utf8'; 例如:改成 gb2312 mysql_query("SET NAMES 'gb2312'",$conn); ============================================================= 参考资料: -------------------------- 当我们按照原来的方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询, 你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句: SET NAMES 'utf8'; 它相当于下面的三句指令: SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;