Php utf8mb4_unicode_ci或utf8mb4_danish_ci
在我的丹麦网站上,Php utf8mb4_unicode_ci或utf8mb4_danish_ci,php,mysql,utf-8,character-encoding,utf8mb4,Php,Mysql,Utf 8,Character Encoding,Utf8mb4,在我的丹麦网站上,utf8mb4\u unicode\u ci和utf8mb4\u danish\u ci(mysql/mariadb数据库)似乎都能正常工作 当我测试字符/符号/表情时,它们似乎都显示相同的结果。 像æ/ø/å这样的丹麦字母在这两种语言中都适用 为什么我要选择一个字符集/排序规则而不是另一个? utf8mb4\u danish\u ci是否添加字符/代码,或者它实际上比utf8mb4\u unicode\u ci更窄?要区分和排序表情符号,我认为您需要基于unicode 5.2
utf8mb4\u unicode\u ci
和utf8mb4\u danish\u ci
(mysql/mariadb数据库)似乎都能正常工作
当我测试字符/符号/表情时,它们似乎都显示相同的结果。像æ/ø/å这样的丹麦字母在这两种语言中都适用 为什么我要选择一个字符集/排序规则而不是另一个?
utf8mb4\u danish\u ci
是否添加字符/代码,或者它实际上比utf8mb4\u unicode\u ci
更窄?要区分和排序表情符号,我认为您需要基于unicode 5.20的utf8mb4\u unicode\u 520\u ci
utf8mb4\u unicode\u ci
基于旧版4.0。(我不知道如何比较表情符号)MySQL 8.0将推出9.0版本:utf8mb4\u 0900\u ai\u ci
对于utf8mb4_danish_ci
:z
之后的每个排序。也就是说y
对于utf8mb4_unicode_ci
,æ
的作用类似于a
和b
之间的字母<代码>ø
介于o
和p
之间<代码>å=a
对于utf8mb4_unicode_520_ci
和utf8mb4_0900_ai_ci
:æ=ae
<代码>ø=o<代码>å=a
这完全取决于您是否关心这三个字符的比较(WHERE
)和排序(orderby
),如上所述
更多详细信息和更多排序规则:
你没有问,但丹麦人似乎说
Ä=Æ=ä=æ<Ö=Ø=ö=ø;这些似乎迎合了冰岛语和瑞典语。字符集是utf8mb4
utf8mb4_danish_ci
是“用于比较字符集中字符的一组规则”的排序规则。那么为什么选择utf8mb4_unicode_ci而不是utf8mb4_danish_ci呢?它是用于比较,而不是存储<代码>字符/符号/表情符号
不会成为问题,字符/代码也不会成为问题。它们都支持相同的字符集。好啊我怀疑我会比较utf8字符/代码,而只比较iso字符。utf8mb4只是为了让用户能够在我的网站上的文本字段中使用表情符号等。所以我想这更多的是一个表现的问题?(就我而言)是的,至少我对它的理解是这样的。我会把它留给更有经验的人,以防我错过了一些麻烦。