1

我有以下测试脚本:

#!/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 =("Értékesítési", "Értékesítési", "Érvényes", "EU-s", "Eszközmozgás");

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

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


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

它输出:

Értékesítési
Értékesítési
Érvényes
Eszközmozgás
EU-s

但根据我的匈牙利线人,维基百科的“E”在“É”之前。有人可以告诉我发生了什么吗?

谢谢。

4

1 回答 1

2

匈牙利排序规则将 E 和 É 在初级级别视为相同,因此结果是正确的。当两个词的区别仅在于有无重音时,没有重音的词排在第一位,但在不考虑重音的情况下执行初级排序。

于 2013-03-12T13:26:27.580 回答