通过连接整理而不是结构整理来命令mysql结果

时间:2014-09-14 00:38:40

标签: php mysql character-encoding collation

我有一个多语言平台。我需要它根据mysql连接的首选排序规则对结果进行排序。不是通过mysql结构整理。

这可以不重写每个查询吗?我不想在每个查询中以示例order by name asc collate utf8_swedish_ci结束。

set names utf8 collate utf8_swedish_ci在b之前的结果顺序不起作用,例如utf8_general_ci。

1 个答案:

答案 0 :(得分:1)

SET NAMES内容处理用于查询和查询元数据(如列名)的字符集。它对从表中处理数据没有影响。看这里。 http://dev.mysql.com/doc/refman/5.6/en/charset-connection.html

您询问是否可以使用特定排序规则(可能是用户首选项设置)来订购结果而不重写查询。答案是否定的。

这部分是因为在构造或更新索引时,排序规则会绑定到索引中。这对性能非常有利,但遗憾的是不适用于泛欧多种归类应用程序。