gpt4 book ai didi

php - MySQLiQuery_Exception' 消息'非法混合排序规则 (latin1_swedish_ci,IMPLICIT) 和 (utf8_general_ci,COERCIBLE) - 使用 PHP5

转载 作者:行者123 更新时间:2023-11-30 23:43:12 26 4
gpt4 key购买 nike

我有这个错误:

Fatal error: Uncaught exception 'MySQLiQuery_Exception' with message 'Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=': select id from 'addresses' where 'shiptozip'='13000' and 'shiptostreet'='Františka Křížka'

如您所见,我正在尝试从表地址中获取 ID。

mysql> show variables like 'character%';

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+


mysql> show variables like 'collation%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+

“地址”表也有 utf8_general_ciutf8。我猜它与 Františka Křížka 查询有关,因为它与其他查询有关。 server_collat​​ion 曾经是 latin_swedish_ci 但我想我现在已经设法改变了它(正如您从上表中看到的那样)。提前致谢。

最佳答案

您能否在您的问题中附加“shiptoaddress”和“shiptozip”列的排序规则:

SHOW FULL COLUMNS FROM addresses;

根据您提供的证据,可能发生的情况是“shiptoaddress”列仍然具有 latin1 编码。当您为表设置编码/排序规则时,您正在设置默认值。可以为个别列覆盖此默认值。

如果查询适用于 where address = 'Frank' 但不适用于 where address = 'Františka' 那是因为“Františka” 不能转换为拉丁语1.

关于php - MySQLiQuery_Exception' 消息'非法混合排序规则 (latin1_swedish_ci,IMPLICIT) 和 (utf8_general_ci,COERCIBLE) - 使用 PHP5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/782346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com