gpt4 book ai didi

mysql - 数据库排序规则区别UTF?拉丁? ETC。?

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:11 26 4
gpt4 key购买 nike

数据库的排序规则用法是什么?好吧,对于 HTML UTF-8,我知道一点,比如显示其他语言类型。但是对于数据库呢?我正在使用 latin-1(默认),我的 friend 告诉我改用 UTF。当我问为什么时,他们不知道并说其他人使用它。所以我在质疑整理到底做了什么?它会影响速度或类似的东西吗?

最佳答案

MySQL 通过以字符编码命名排序规则混淆了这个问题。它们是不同的概念。

A collation确定关系运算符( <> 等)和 ORDER BY 的方式。子句对字符串进行排序。排序规则考虑的问题是:

  • 大写字母和小写字母是否等同?
  • 空格重要吗?
  • 带重音字母的排序与无重音版本相同,在无重音版本之后还是末尾?
  • 像“ch”和“ll”这样的二合字母是否像单独的字母一样排序?
  • 像 AᴬⒶA𝐀𝐴𝑨𝒜𝓐𝔄𝔸𝕬𝖠𝗔𝘈𝘼𝙰 这样的 Unicode 兼容性等价物是否被同等对待?

其中一些取决于语言。

A character encoding确定文本值如何与字节序列相互转换。有关详细介绍,请参阅 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) .

有数百种不同的字符编码,大多数特定于特定的操作系统和语言环境组合。其中大部分是 US-ASCII 的超集,所以如果非常确定您的数据将是纯 ASCII 的,那么使用什么编码都没有关系。

但是如果您需要其他字符,则需要一种可以处理它们的编码。对于西方语言,您的选择通常是:

两者的区别在于:

  • 对于西欧重音字符,UTF-8 需要 2 个字节,而 Latin-1 只需要 1 个字节。
  • 但其他字符根本不能用 Latin-1 表示。 UTF-8 可以表示所有可能的 Unicode 字符。

关于mysql - 数据库排序规则区别UTF?拉丁? ETC。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3429436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com