diff options
-rwxr-xr-x | Master/install-tl | 9 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLWinGoo.pm | 2 |
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; |