Bob*_*ack 5 php mysql sorting collation utf-8
例如,这是标准"SORT BY name"查询返回的顺序:
name
------
Cebbb
?ebbc
Cebbd
Run Code Online (Sandbox Code Playgroud)
我想按名称排序,并获得重音字符第一,与其他重音字符,例如分组
name
------
?ebbc
Cebbb
Cebbd
Run Code Online (Sandbox Code Playgroud)
默认情况下,MySql将其?视为C用于排序目的,并按所示顺序排序.
或者,?为了C进行比较,有没有一种方法可以在PHP中"转换" 为什么?
SELECT k
FROM t1
ORDER BY k COLLATE utf8_spanish_ci;
Run Code Online (Sandbox Code Playgroud)
然后,将使用正确的整理对列进行排序,并且列定义可以保持原样.
最简单的方法是对列本身应用适当的排序规则,例如:
\n\nCREATE TABLE foo (\n foo_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n `name` VARCHAR(30) NOT NULL COLLATE \'utf8_spanish_ci\',\n PRIMARY KEY (`foo_id`)\n)\nCOLLATE=\'utf8_spanish_ci\'\nENGINE=InnoDB;\nRun Code Online (Sandbox Code Playgroud)\n\n更新:
\n\n\xc4\x8c是西班牙语字母:
\n\n\n\n\n在克罗地亚语、斯洛文尼亚语、波斯尼亚语、斯科尔特萨米语和拉科塔语字母中,它是字母表的第四个字母。在捷克语、北部 S\xc3\xa1mi 字母表\n 以及波罗的海语言、立陶宛语和拉脱维亚语中,该字母位于\n 第五位。在斯洛伐克语中,它是字母表中的第六个字母。它也用于普什图语(相当于 \xda\x86\xe2\x80\x8e)和 Saanich。
\n
与数字不同,字母没有固定的绝对顺序。字母顺序的整个概念是相对的\xe2\x80\x94你必须首先选择一个规则集。运行此 SQL 查询以了解您的 MySQL 服务器中哪些可用:
\n\nSHOW CHARACTER SET\nRun Code Online (Sandbox Code Playgroud)\n\n...并选择更符合您期望的一个。说明书上有简单的说明。
\n| 归档时间: |
|
| 查看次数: |
7360 次 |
| 最近记录: |