Locale在FreeBSD上的Perl中不起作用

时间:2016-07-14 10:34:51

标签: perl locale freebsd perl5

在Debian Linux(Bash)上为perl5(修订版5版本22颠覆2)执行以下操作(以俄语输出有关我尝试打开不存在的目录的消息):

LANGUAGE=ru_RU.UTF-8 perl -Mstrict -Mwarnings -Mlocale -e 'opendir my $fh, "afdsfd"; print $!, "\n"'

但是在FreeBSD perl5(修订版5版本20颠覆版3)上,它以英文显示消息。为什么它不适用于FreeBSD?

在FreeBSD上:

$ locale -a | grep ru
ru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.KOI8-R
ru_RU.UTF-8

1 个答案:

答案 0 :(得分:0)

我发现FreeBSD 10.3-RELEASE上的俄语消息与KOI8-R一起使用,但不适用于UTF-8。

示例:

perl -Mstrict -Mwarnings -MPOSIX -e 'setlocale(POSIX::LC_ALL, "ru_RU.KOI8-R"); opendir my $fh, "afdsfd"; print $!, "\n"' | iconv -f KOI8-R -t UTF-8