我有一个查询使用:
t3.`value` LIKE "%someval%" COLLATE utf8_general_ci
我在浏览器中加载该页面并将此错误打印到屏幕上:
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
查询也会回显到页面。如果我将输出的查询复制并粘贴到 phpMyAdmin SQL 窗口中,它运行良好,产生预期的结果。
我以前遇到过 PHP 无法使用 LOAD DATA INFILE 的问题。我想知道这是否是类似类型的问题。但我看不出它会怎样。
这是在 Ubuntu Server 10.04 MySQL Apache PHP 堆栈上运行的。
谢谢谷歌。
显然,我一直在将 PHP 与 MySQL 一起使用,而无需担心客户端整理。
我不知道这是否会导致其他问题,但目前我已经通过向主控制器添加以下查询来解决这个问题(以便为网站上的每个脚本运行查询)。
现在我的查询通过我的 PHP 脚本工作。我想 phpMyAdmin 可能会采用您正在查询的任何表的排序规则并相应地设置客户端排序规则。我只是在猜测那个。
这是我找到答案的地方: http ://dev.mysql.com/doc/refman/4.1/en/charset-collation-charset.html