[image]

странная проблема с локалью Linux

 
+
-
edit
 

Balancer

администратор
★★★★★
После "апгрейда" RH7.3 до Fedora Core 2
и имею теперь такую проблему:
code text
  1. [root@airbase psys]# locale -a|grep ru
  2. ru_RU
  3. ru_RU.cp1251
  4. ru_RU.iso88595
  5. ru_RU.koi8r
  6. ru_RU.utf8
  7. russian
  8. ru_UA
  9. ru_UA.koi8u
  10. ru_UA.utf8

Т.е. кодировки все на месте.
Пишу:
perl -e "use locale; use POSIX qw(locale_h); print setlocale(LC_ALL, 'ru_RU.cp1251')"

получаю пустой вывод.

если написать, к примеру,
perl -e "use locale; use POSIX qw(locale_h); print setlocale(LC_ALL, 'ru_RU.koi8r')", то всё ок - вывод ru_RU.koi8r.

Программа:
code perl
  1. #!/usr/local/bin/perl -w
  2.  
  3. use strict;
  4. use Text::Iconv;
  5. use locale;
  6. use POSIX qw(locale_h);
  7.  
  8. my $locale = "ru_RU.cp1251";
  9. my $new_locale = setlocale(LC_ALL, $locale);
  10.  
  11. die "Нет локали $locale" if ($new_locale ne $locale);

теперь вылетает с ообщением:
code text
  1. Use of uninitialized value in string ne at ./psys.pl line 11.
  2. Нет локали ru_RU.cp1251 at ./psys.pl line 11.


Куда копать? :-/
   

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru