php - PHP 可以模仿 MySQL utf8mb4_0900_ai_ci 排序规则吗?
问题描述
我在 MySQL 中有一个表:
results
-----------
word VARCHAR(200) UNIQUE [collation: utf8mb4_0900_ai_ci]
count INT
我有一个聚合 word+count 元组的 PHP 脚本,但它必须以匹配utf8mb4_0900_ai_ci
排序规则的方式进行。这是因为这个聚合的结果会被插入到表中,我必须防止重复。
$tuples = [
"Cafe"=>5,
"Cafe"=>1,
"Café"=>3,
"Café"=>4,
];
// Should result in:
// ["Café"=>13"] <-- picks the version with the most counts: Café
// AND NOT
// ["Cafe"=>6, "Café"=>7] <-- these will be treated as duplicates in MySQL
$results = aggregateCounts($tuples);
在这个例子中,我可以让 PHP 通过替换来对元组进行分组é
--e
但我更愿意准确地模仿 MySQL 所做的以确定字符是否重复,给定排序规则utf8mb4_0900_ai_ci
.
我该怎么做呢?
我能想到的唯一万无一失的解决方案是在 MySQL 本身中执行聚合——不幸的是,鉴于我将要聚合的数据的大小,这在我的用例中是不可能的。
解决方案
推荐阅读
- vb6 - 启动 Win 10 电影和电视应用程序(英国的电影和电视?)
- c# - gRPC 保持响应流对订阅开放
- css - CSS - 根据指定的最大值和最小值根据屏幕宽度更改填充
- pandas - 在最后一行之后合并第一列中的所有列
- snowflake-cloud-data-platform - TIMESTAMP 列的默认值
- python - 如何在 django 中更新和更新 MongoDB 中的多个文档
- outlook - 显示远程计算机状态
- asp.net-core - SignalR 的 WebSocket 中间件
- geometry - 如何消除两个圆的碰撞?
- python - AttributeError:'NoneType'对象没有属性'exec_command',将代码行转换为函数时,在python中