perl+utf8 кодировка+имена файлов
1674
0
Пока не была локаль на сервере (CentOS Linux) UTF-8, то все работало нормально. Но с ее появлением все испортилось.

Есть кусок кода, который записывает имена файлов в каталоге:
opendir(my $dh, $currentdir) or die "Couldn't open $currentdir : $!";
while ( defined ($filename = readdir($dh)) ) {
if (-f "$currentdir/$filename") {
my @entry = stat("$currentdir/$filename") or die "Couldn't stat $current
dir/$filename : $!";
#binmode OUTPUT_FILE_HANDLER, ":encoding(cp866)";
print "\"" . $filename . "\";" . $entry[10] . "\n";
}

}
closedir($dh);

Сейчас получаем т.е. явно лишние символы :))):
"├В 930 ├В├╗├▒├к├│├б ├В. ├Г. ├Р├о├▒├▒├и├й├▒├к├а├┐ ├о├б├╣├е├▒├▓├в├е├н├н├о- ├г├о├▒├│├д├а├░├▒├▓├в├е├н├н├а├┐ ├▒├и├▒├▓├е├м├а ├а├▓├▓├е├▒├▓├а├╢├и├и ├н├а├│├╖├н├╗├╡ ├и ├н├а├│├╖├н├о- ├п├е├д├а├г├о├г├и├╖├е├▒├к├и├╡ ├к├а├д├░├о├в ├в├╗├▒├╕├е├й ├к├в├а├л├и├┤├и├к├а├╢├и├и. 2005.doc";1172574033