0
下面是一个MySQL查询:哪个MySQL整理与PHP的字符串比较完全匹配?
SELECT last_name FROM users ORDER BY last_name
我们得到的所有数据到PHP,然后运行:
$prior = NULL;
do {
$current = array_shift($results);
assert($current >= $prior);
$prior = $current;
} while ($current !== NULL);
目前这一论断对于某些输入失败。是否可以在上面的MySQL查询中添加COLLATE子句以绝对保证PHP断言?
的东西,我试过:
- 上面的代码,它不会对某些非ASCII输入
ORDER BY email COLLATE utf8_bin
导致COLLATION 'utf8_bin' is not valid for CHARACTER SET 'latin1'
- 工作,也许这是What is the best collation to use for MySQL with PHP?重复,但这似乎更主观,我正在寻求一个具体问题的具体答案
其他注意事项:
- 如果它的确与众不同,这列
latin1
- 我的PHP PDO包装库是https://github.com/fulldecent/thin-pdo
你在哪里设置'$ next'? – cmorrissey
您可以通过电子邮件发送COLLATE'latin1_bin''命令,或者您可以将列的排序规则设置为'utf8',但不能通过查询中的其他子集进行排序。 – cmorrissey
2016年你有没有使用'latin1'专栏的原因?这看起来过于严格。 – tadman