summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMaster/install-tl9
-rw-r--r--Master/tlpkg/TeXLive/TLWinGoo.pm2
2 files changed, 10 insertions, 1 deletions
diff --git a/Master/install-tl b/Master/install-tl
index 7f40c7a8d25..a56dd3ac56b 100755
--- a/Master/install-tl
+++ b/Master/install-tl
@@ -158,6 +158,12 @@ use TeXLive::TLDownload;
use TeXLive::TLPaper;
if (win32) {
+ require Encode::Locale;
+ Encode::Locale->import ();
+ binmode (STDIN, ':encoding(console_in)');
+ binmode (STDOUT, ':encoding(console_out)');
+ binmode (STDERR, ':encoding(console_out)');
+
require TeXLive::TLWinGoo;
TeXLive::TLWinGoo->import( qw(
&is_vista
@@ -2492,6 +2498,9 @@ sub do_cleanup {
$::LOGFILENAME = "$vars{'TEXDIR'}/install-tl.log";
if (open(LOGF,">$::LOGFILENAME")) {
$::LOGFILE = \*LOGF;
+ if (win32) {
+ binmode (LOGF, ':utf8');
+ }
foreach my $line(@::LOGLINES) {
print $::LOGFILE "$line";
}
diff --git a/Master/tlpkg/TeXLive/TLWinGoo.pm b/Master/tlpkg/TeXLive/TLWinGoo.pm
index f5ccd83217a..8465eca6d3d 100644
--- a/Master/tlpkg/TeXLive/TLWinGoo.pm
+++ b/Master/tlpkg/TeXLive/TLWinGoo.pm
@@ -1426,7 +1426,7 @@ sub maybe_make_ro {
my $cmd = 'cmd /c "icacls . /reset && icacls . /inheritance:r'.
' /grant:r *S-1-5-32-544:(OI)(CI)F'.
' /grant:r *S-1-5-11:(OI)(CI)RX /grant:r *S-1-5-32-545:(OI)(CI)RX"';
- log "Making read-only\n".`$cmd`."\n";
+ log "Making read-only\n".Encode::decode(console_out,`$cmd`)."\n";
# go back to original directory
chdir $curdir;