|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : HB 2:5020/400 20 Feb 2001 16:43:56 To : All Subject : ActivePerl под Windows: неверная сортировка при l10n --------------------------------------------------------------------------------
У меня ActiveState Perl, build 620 под NT 4.0 SP6a.
Похоже, что сортировка русских букв в кодировке Windows ни хрена не работает.
Кто-то с таким сталкивался? Как это исправить? Спасибо за ответ.
Далее -- код для проверки и то, что он выводит:
=== 8< ======================================================================
#!/usr/bin/perl -w
use strict;
use locale;
use POSIX 'locale_h';
my (@dos866, @win1251, @AzBukiVedi, %hash);
@AzBukiVedi = qw(A BE VE GHE DE IE ZHE ZE I SHORT_I KA EL EM EN O PE ER ES TE
U EF HA TSE CHE SHA SHCHA HARD_SIGN YERU SOFT_SIGN E YU YA);
print setlocale(LC_COLLATE, 'Russian_Russia.866'), ":";
@dos866 = map {chr} 128..159;
@hash{@dos866} = @AzBukiVedi;
print " $hash{$_}" for sort @dos866;
undef %hash;
print "\n\n", setlocale(LC_COLLATE, 'Russian_Russia.1251'), ":";
@win1251 = map {chr} 192..223;
@hash{@win1251} = @AzBukiVedi;
print " $hash{$_}" for sort @win1251;
=== >8 ======================================================================
=== 8< ======================================================================
Russian_Russia.866: A BE VE GHE DE IE ZHE ZE I SHORT_I KA EL EM EN O PE ER ES
TE U EF HA TSE CHE SHA SHCHA HARD_SIGN YERU SOFT_SIGN E YU YA
Russian_Russia.1251: DE EN HARD_SIGN HA TSE SHORT_I A EF U I SHCHA GHE ZHE ZE
EM VE ES TE EL BE PE ER KA IE SHA CHE O YA SOFT_SIGN E YU YERU
=== >8 ======================================================================
--
HB mailto:npecca@yahoo.com?subject=Usenet
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/166799c62f21b.html, оценка из 5, голосов 10
|