diff --git a/textarchive/lib/md5cat.pm b/textarchive/lib/md5cat.pm
index cb8a2dca53b8690786448924c8e77b0f4d54b689..4db7b3f5798383a147112199122886c96ad36155 100644
--- a/textarchive/lib/md5cat.pm
+++ b/textarchive/lib/md5cat.pm
@@ -140,6 +140,7 @@ sub read_flist
     print __LINE__, " could not open '$fnm'!\n";
     return -1;
   }
+  binmode (FI, ':utf8'); # maybe we need a flag for that?
 
   my @files;
   while (<FI>)
diff --git a/textarchive/vlib001.pl b/textarchive/vlib001.pl
index 8614844030436571505b907e92da52a4fe8060f5..c9f6f941042c8fc7b28386b98eafe44e57a9b1cf 100755
--- a/textarchive/vlib001.pl
+++ b/textarchive/vlib001.pl
@@ -65,6 +65,10 @@ use TA::ObjReg;
 use md5cat;
 use Util::ts qw(ts_ISO);
 
+binmode( STDOUT, ':utf8' ); autoflush STDOUT 1;
+binmode( STDERR, ':utf8' ); autoflush STDERR 1;
+binmode( STDIN,  ':utf8' );
+
 my $project;
 my $store;
 my $refresh_fileinfo= 0;