Das Problem wie bei swer könnte aufzutreten, wenn mehrere locale Profile verfügbar sind.
Und wenn die globalen Einstellungen modifziert werden. Scheinbar greift sich >>setlocale (LC_ALL, 'de_DE'); << das falsche Profile. Nach einem Neustart von xxvd sollten die Zeichen passen.
Ich habe hier erstmal einen Workaround, aber irgendwie gefällt mir die Verwendung des hardcodierte String '.utf8' damit nicht...
Diff
--- bin/xxvd (Revision 1315)
+++ bin/xxvd (Arbeitskopie)
@@ -351,7 +351,9 @@
if(defined $Config->{General}->{Language}
and $Config->{General}->{Language} ne setlocale(LC_ALL)) {
setlocale (LC_ALL, "");# It's doesn't work without reset Language
- setlocale (LC_ALL, $Config->{General}->{Language});
+ my $lang = $Config->{General}->{Language};
+ $lang .= '.utf8' if($lang ne 'C' && $Tools::CHARSET eq 'UTF-8');
+ setlocale (LC_ALL, $lang);
}
}
@@ -644,7 +646,9 @@
setcharset($charset);
if(defined $cfg->{General}->{Language}) {
- setlocale (LC_ALL, $cfg->{General}->{Language});
+ my $lang = $cfg->{General}->{Language};
+ $lang .= '.utf8' if($lang ne 'C' && $Tools::CHARSET eq 'UTF-8');
+ setlocale (LC_ALL, $lang);
} else {
setlocale (LC_ALL, ''); #From environment like 'export LANG="fr_FR"'
}
Display More