Получить текущую системную локальную кодировку в Perl на Windows - PullRequest
1 голос
/ 03 января 2012

Мне нужно получить текущую кодировку в соответствии с локальными настройками системы. Я ищу такую ​​функцию, работающую следующим образом:

my $sysEncoding = getSystemEncoding();
#and now $sysEncoding equals e.g. 'windows-1250'

Я искал повсюду в Интернете. Я нашел только модуль PerlIO::locale. Но мне кажется, что кодировка системы должна распознаваться без дополнительных модулей.

Ответы [ 2 ]

2 голосов
/ 03 января 2012

Encode :: Locale предоставляет средства для обработки этого.

0 голосов
/ 03 января 2012
use Win32::API;
if (Win32::API->Import('kernel32', 'int GetACP()')) {
    $enc = GetACP();
    print "Current local encoding is '$enc'\n";
}

Спасибо за подсказку Икегами .

...