使用Perl和Unicode :: Collat​​e :: Locale在匈牙利语中整理“E”和“É”

时间:2013-03-12 11:48:26

标签: perl unicode multilingual

我有以下测试脚本:

#!/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”出现在“É”之前。 有人能告诉我发生了什么吗?

感谢。

1 个答案:

答案 0 :(得分:2)

匈牙利整理顺序在主要级别将E和É视为相同,因此结果是正确的。当两个单词仅在存在或不存在重音时有所不同时,没有重音的单词首先出现,但是主要类别是在不考虑锐音的情况下进行。