php - 用于 MySQL 和 PHP 的最佳排序规则是什么?

我想知道对于一个您不能 100% 确定要输入什么内容的一般网站,在 MySQL 中是否有“最佳”排序选择?我知道所有的编码都应该是相同的,例如 MySQL、Apache、HTML 和 PHP 中的任何东西。

过去我将 PHP 设置为以“UTF-8”输出,但是这与 MySQL 中的哪种排序规则相匹配?我认为它是 UTF-8 之一,但我之前使用过 utf8_unicode_ciutf8_general_ciutf8_bin

最佳答案

主要区别在于排序准确性(比较语言中的字符时)和性能。唯一特殊的是 utf8_bin,用于比较二进制格式的字符。

utf8_general_ciutf8_unicode_ci 稍快,但不太准确(用于排序)。 特定语言的 utf8 编码(例如 utf8_swedish_ci)包含额外的语言规则,使它们对这些语言进行最准确的排序。大多数时候我使用 utf8_unicode_ci(我更喜欢准确性而不是小的性能改进),除非我有充分的理由更喜欢特定的语言。

您可以在 MySQL 手册 - http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html 上阅读有关特定 unicode 字符集的更多信息。

https://stackoverflow.com/questions/367711/

相关文章:

php - 如何在 PHP 中获取文件的扩展名?

php - 查找两个日期之间的天数

php - 如何在 PHP 中去除字符串中的所有空格?

php - 将 PHP 对象转换为关联数组

php - PHP中的die()和exit()有什么区别?

php - 如何使用 PHP 计算两个日期之间的差异?

php - 如何使用 PHP 发送 POST 请求?

php - 从分隔字符串中删除尾随分隔字符

php - 绕过 mysql_real_escape_string() 的 SQL 注入(injec

php - 如果文件夹不存在,则创建一个文件夹