2

我有以下 Perl 脚本,旨在以丹麦语显示排序规则。

#!/usr/local/ActivePerl-5.16/bin/perl

use 5.014_001;
use utf8;
use Unicode::Collate;
use strict;
use warnings;
use Carp;
use Data::Dump;
use Encode qw( encode_utf8 );
use Unicode::Collate::Locale;


binmode STDOUT, ':encoding(UTF-8)';

my @words =("AAI Document Type", "Apple", "Zebra");

my $coll = Unicode::Collate::Locale->new(locale => "da");

my @result = $coll->sort(@words);


foreach my $item (@result){
print $item, "\n";
}

它输出

Apple
Zebra
AAI Document Type

为什么“AAI 文档类型”会走到最后?似乎有一些关于“AA”的东西触发了这种行为。

4

1 回答 1

4

AA在丹麦语中被视为单个字母,也写为Å.

详情在这里

显然,在 like 的缩写中AAI,将AAas 视为Å不合适(它实际上是两个A字符)。我想避免这种情况的方法是使用不同的排序规则。

于 2013-03-06T22:37:39.943 回答