From 264202f8283ee228bea16920af9b19eeaa5981c7 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Mon, 24 May 2021 21:05:38 +0000 Subject: [PATCH] 50_SSFile: contrib 0.8.1 git-svn-id: https://svn.fhem.de/fhem/trunk@24505 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/50_SSFile.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/fhem/contrib/DS_Starter/50_SSFile.pm b/fhem/contrib/DS_Starter/50_SSFile.pm index 1932acbd3..5d6abf8aa 100644 --- a/fhem/contrib/DS_Starter/50_SSFile.pm +++ b/fhem/contrib/DS_Starter/50_SSFile.pm @@ -71,6 +71,7 @@ use POSIX qw(strftime); use Time::HiRes qw(gettimeofday); use HttpUtils; use Encode; +use Encode::Guess; use File::Find; use File::Glob ':bsd_glob'; no if $] >= 5.017011, warnings => 'experimental::smartmatch'; @@ -767,7 +768,12 @@ sub __fillUploadQueue { # Log3 ($name, 3, "$name - all explored files for upload:\n".Dumper $found); for my $sn (keys %{$found}) { - my $fname = encode ("utf8", (split "\/", $found->{$sn}{lfile})[-1]); + my $fname = (split "\/", $found->{$sn}{lfile})[-1]; + my $enc = guess_encoding($fname, qw/utf8/); + if(!ref $enc ) { + $fname = encode ("utf8", (split "\/", $found->{$sn}{lfile})[-1]); + } + # my $fname = encode ("utf8", (split "\/", $found->{$sn}{lfile})[-1]); my $mtime = $found->{$sn}{mtime} * 1000; # Angabe in Millisekunden my $crtime = $found->{$sn}{crtime} * 1000; # Angabe in Millisekunden my $dir = $remDir.$found->{$sn}{ldir}; # zusammengesetztes Zielverzeichnis (Struktur erhaltend - default)