gpt4 book ai didi

PHP:使用 usort 或从 UTF-8 字符串排序字母会导致未知字符

转载 作者:可可西里 更新时间:2023-10-31 23:41:04 25 4
gpt4 key购买 nike

我正在尝试按字母顺序对 UTF-8 字符串进行排序。结果包含未知字符,我不知道为什么。 usort 和 sort 也会发生同样的事情。

setlocale(LC_COLLATE, 'ro_RO.UTF-8');

$word = 'ÎABAȚÂIEȘĂ';
$chars = str_split($word);

echo 'Word: ' . $word . "\n";

//sort($chars, SORT_LOCALE_STRING);

usort($chars, function($a, $b){
echo 'Comparing: ' . $a . ' and ' . $b . "\n";
return strcoll($a, $b);
});

echo 'Result: ' . implode($chars) . "\n";

命令行示例:http://s18.postimg.org/avqfhetsp/test.gif

最佳答案

问题不是由比较和/或排序引起的,而是由 str_split() 函数引起的。由于此函数的多字节版本不存在,因此您应该使用 mb_split()preg_split() 来代替。

关于PHP:使用 usort 或从 UTF-8 字符串排序字母会导致未知字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19858352/

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