gpt4 book ai didi

Kamailio 表中的 MySQL 排序规则

转载 作者:行者123 更新时间:2023-11-29 10:50:09 29 4
gpt4 key购买 nike

出于某种我不知道的原因,我有一些带有 utf32_general_ci 排序规则的 Kamailio 表(示例中的位置),还有一些带有 latin1_swedish_ci 的表。

我尝试在 github 存储库 ( https://github.com/kamailio/kamailio/blob/4.4/scripts/mysql/my_create.sql ) 上查找答案,但未指定排序规则。

是吗?有关系吗?哪一个是正确的选择?

我的 Kamailio 版本是 4.4.3。

最佳答案

什么是 Kamailio?它在数据库中存储什么?

一般来说,当今的所有软件都应该使用完整的 UTF-8 字符集编码。在 MySQL 中,语法为CHARACTER SET utf8mb4

您提到了两个COLLATION;它们与排序顺序有关,而不是字符编码。提到的两者对应的是字符集

  • utf32 -- 每个字符 4 个字节,非常浪费空间;几乎没有人使用它;今天没有(我能想到的)充分理由使用它。
  • latin1 -- 每个字符 1 个字节;可以处理西欧,但不能处理亚洲。它是 MySQL 中的旧默认值(因此您的表具有它)。

我不知道尝试改变 Kamailio 的后果。

MySQL如何处理字符集差异需要注意一点:连接MySQL时必须在客户端指定编码。然后,当INSERTingSELECTing时,MySQL将在客户端编码之间进行转换(如果需要,并且如果可能)和编码。由于这种自动转换,您目前不会看到西欧字符有任何问题。但希腊语、中文等在尝试存储到 latin1 时将被损坏/丢失。

关于Kamailio 表中的 MySQL 排序规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43874805/

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