【问题标题】:getting Illegal mix of collations error得到 Illegal mix of collat​​ions 错误
【发布时间】:2013-03-11 21:10:34
【问题描述】:

我的应用程序中有一个子域系统,当我登录我的办公室时,它的登录正常,但当我登录其他城市或国家/地区时,我收到此错误。

有时工作正常,有时不工作。假设如果我的登录 ID 是 xyz@india.com,当我打印此登录 ID 时,我会在登录 ID 之前获得一些特殊字符。

致命错误:未捕获的异常“Zend_Db_Statement_Mysqli_Exception”和消息“Mysqli 准备错误:非法混合排序规则 (latin1_swedish_ci,IMPLICIT) 和 (utf8_general_ci,COERCIBLE) 用于操作 '='

【问题讨论】:

    标签: php mysql zend-framework


    【解决方案1】:

    这通常是由于比较了排序规则不兼容的两列而引起的。 COLLATE 方法将允许您指定查询中使用的排序规则,因此不会返回此类错误。

    如果您不需要任何排序规则而只需要比较,您可以考虑在列定义中添加“CHARACTER SET BINARY”。这将使用 BIN 集合集,并且无论连接字符串或列排序规则设置如何,都将允许等于。

    【讨论】:

      猜你喜欢
      • 2011-11-10
      • 2019-03-15
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 2022-12-27
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      相关资源
      最近更新 更多